2010-02-02 13 views
22

Necesito configurar una función en javascript para eliminar el primer carácter de una cadena, pero solo si es una coma ,. Encontré la función substr, pero esto eliminará cualquier cosa independientemente de lo que sea.Eliminar el primer carácter de una cadena si es una coma

Mi código actual es

text.value = newvalue.substr(1); 
+0

manipulación picadura directa será generalmente más rápido que una expresión regular. Me gustaría ir con la primera respuesta de Max S. –

+0

@Jan Aagaard Y probablemente lo haría si esta es una operación que se realizará varias veces. Sí, sin embargo, encuentro que la expresión regular es más fácil de entender de un vistazo. – jensgram

Respuesta

57
text.value = newvalue.replace(/^,/, ''); 

Editar: Probado y verdadero. Esto es solo uno manera de hacerlo.

+2

¿Qué es para probar? reemplace la coma de ancla abierta con la vacía. lo tienes. –

+0

perfecto, muchas gracias – kwhohasamullet

+1

@Sky Yup, pero me gusta revisar jsbin.com para verificar ... y eliminar errores tipográficos, etc. (Todavía es de mañana aquí en Dinamarca). – jensgram

9
s = (s.length && s[0] == ',') ? s.slice(1) : s; 

O con una expresión regular:

s = s.replace(/^,/, ''); 
2
var result = (myString[0] == ',') ? myString.substr(1) : myString; 
0

gracias por los consejos, tiene un código de trabajo aquí por mí mismo. copiará cada elemento de la lista y eliminará el 1er coma.

var list_with_coma = ", " + list_item; 
var unwantedCharacter = ","; 

$('#id_of_input').val(function(){ 
if (this.value.charAt(0) == unwantedCharacter){ 
this.value = this.value.substr(1);} 
return this.value + list_with_coma; 
}); 
0
text.value = newvalue.startsWith(",") ? newvalue.substring(1) : newvalue; 
Cuestiones relacionadas