2010-02-02 141 views
22

我需要在javascript中设置一个函数来删除字符串的第一个字符,但前提是它是逗号,。我找到了substr函数,但是这会删除任何东西,不管它是什么。删除字符串中的第一个字符如果它是逗号

我当前的代码是

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

直接刺操作一般会比一个正则表达式更快。我会选择Max S的第一个答案。 – 2010-02-02 08:13:14

+0

@Jan Aagaard如果这是一个多次执行的操作,但是,我确实发现正则表达式更易于理解。 – jensgram 2010-02-02 08:18:34

回答

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

编辑:测试和真实的。但这只是一个的方式。

+2

什么是测试?用空白替换打开的逗号逗号。你说对了。 – 2010-02-02 08:11:03

+0

完美,谢谢你非常多 – kwhohasamullet 2010-02-02 08:12:12

+1

@Sky YUP,但我喜欢通过jsbin.com来验证...并排除错别字等。(这里还是早上在丹麦这里。) – jensgram 2010-02-02 08:12:32

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

或用正则表达式:

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

感谢您的提示,有一个工作代码在这里为我自己。 它会复制每个列表项并删除第一个昏迷。

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; 
相关问题