2010-02-02 18 views
22

है, तो मुझे स्ट्रिंग के पहले अक्षर को हटाने के लिए जावास्क्रिप्ट में कोई फ़ंक्शन सेट अप करने की आवश्यकता है, लेकिन केवल तभी यदि यह कॉमा , है। मुझे substr फ़ंक्शन मिला है लेकिन यह किसी भी चीज को हटाएगा चाहे वह क्या है। परीक्षण और सच:स्ट्रिंग से पहले अक्षर को हटाएं यदि यह कॉमा

मेरे वर्तमान कोड

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

प्रत्यक्ष डंक हेरफेर आम तौर पर एक regex की तुलना में तेजी हो जाएगा। मै मैक्स एस के पहले जवाब के साथ जाऊंगा। –

+0

@ यान आगार्ड और शायद मैं शायद यह कई ऑपरेशन करने के लिए एक ऑपरेशन होगा। हालांकि, मैं एक नज़र में समझने के लिए रेगेक्स को आसान समझता हूं। – jensgram

उत्तर

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

संपादित है। हालांकि यह करने के लिए यह सिर्फ एक तरीका है।

+2

परीक्षण करने के लिए क्या है? खाली एंकर कॉमा को खाली के साथ बदलें। आपको यह मिला। –

+0

सही, बहुत बहुत धन्यवाद – kwhohasamullet

+1

@ स्की यूप, लेकिन मुझे jsbin.com के माध्यम से सत्यापित करने के लिए ... और टायपोज़ इत्यादि को खत्म करना पसंद है (यह अभी भी डेनमार्क में सुबह है।) – jensgram

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

या एक regex के साथ: टिप्स के लिए

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

धन्यवाद, खुद के लिए यहां एक काम कोड मिला है। यह प्रत्येक सूची आइटम की प्रतिलिपि बनायेगा और 1 कोमा हटा देगा।

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; 
संबंधित मुद्दे