2010-02-02 178 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; 
相關問題