我正在處理一個輸入字段需要自動在「00」和a-z或A-Z之間添加空格的表單。JavaScript:使用替換在a-z之前的「00」之後添加空格A-Z
例如:"300A"
到"300 A"
或"200b"
到"200 b"
下面是的,我一直在努力的代碼。我已經做了一些研究了,但是JavaScript技巧很差,花了很長時間。
replace(/('00')([a-z][A-Z])/g, '$1 $2');
我很感激幫助。
我正在處理一個輸入字段需要自動在「00」和a-z或A-Z之間添加空格的表單。JavaScript:使用替換在a-z之前的「00」之後添加空格A-Z
例如:"300A"
到"300 A"
或"200b"
到"200 b"
下面是的,我一直在努力的代碼。我已經做了一些研究了,但是JavaScript技巧很差,花了很長時間。
replace(/('00')([a-z][A-Z])/g, '$1 $2');
我很感激幫助。
你是真的接近:
var str = "....whatever...";
str = str.replace(/(00)([a-zA-Z])/g, '$1 $2');
或者交替,你可以使用i
標誌(忽略大小寫):上述的
var str = "....whatever...";
str = str.replace(/(00)([a-z])/gi, '$1 $2');
鍵位:
保存結果(你沒有顯示你是如何調用0的,但不保存結果是一個常見的錯誤)。
否'
圍繞00
。
您有兩個獨立的字符類別,分別爲[a-z]
和[A-Z]
。所以它一直在尋找00
,然後是a-z
範圍內的某些內容,其次是,其他的範圍是A-Z
。
你的正則表達式尋找"3'00'aA"
不是"300A"
嘗試
replace(/(00)([a-zA-Z])/g, '$1 $2');
+1爲開場線,很好放。 –
這個效果很好。謝謝。 – MustacheHam
這裏有您需要什麼:
yourString.replace(/(00)([a-zA-Z])/g, '$1 $2')
// OR
yourString.replace(/(00)([a-z])/gi, '$1 $2')
你有兩個問題與您正則表達式:
'00'
尋找'
字符以及00
。
[a-z][A-Z]
查找任何小寫字母后跟大寫字母。在與[a-zA-Z]
相同的一組方括號內組合兩個範圍,或者僅使用[a-z]
,並將i
標誌添加到正則表達式以使其不區分大小寫。
謝謝你爲我解釋這個。我更好地理解這一點。 :) – MustacheHam
'/(00)([AZ])/ gi' –
如果下面的答案之一*的回答*你的問題,堆棧溢出的工作方式,您可以通過點擊下一個對勾標記爲「接受」到它。更多:http://meta.stackexchange。com/questions/5234/how-does-accepting-an-answer-work –