2010-02-02 11 views
22

Ho bisogno di impostare una funzione in javascript per rimuovere il primo carattere di una stringa ma solo se è una virgola ,. Ho trovato la funzione substr ma questo rimuoverà qualsiasi cosa, indipendentemente da cosa sia.Rimuovi il primo carattere da una stringa se è una virgola

mio codice attuale è

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

manipolazione pungiglione diretto sarà generalmente più veloce di una regex. Vorrei andare con la prima risposta di Max S. –

+0

@Jan Aagaard E anche io probabilmente se questa è un'operazione da eseguire più volte. Tuttavia, trovo la regex più facile da capire a colpo d'occhio. – jensgram

risposta

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

Edit: Provato e vero. Questo è solo un modo per farlo.

+2

cosa testare? sostituire la virgola di ancoraggio aperta con vuota. avete capito bene. –

+0

perfetto, grazie mille – kwhohasamullet

+1

@Sky Yup, ma mi piace correre attraverso jsbin.com per verificare ... ed eliminare errori di battitura ecc. (È ancora mattina qui in Danimarca.) – jensgram

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

O con una regex:

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

grazie per i suggerimenti, ha un codice di lavoro qui per me stesso. copierà ogni elemento della lista e rimuoverà il 1 ° 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; 
Problemi correlati