我需要檢查輸入的信息是否是3個字符長,首先應該是0-9
秒A-Z
和第三個0-9
。在Javascript中使用正則表達式
我寫的模式如下:
var pattern = `'^[A-Z]+[0-9]+[A-Z]$'`;
var valid = str.match(pattern);
我糊塗了用正則表達式來選擇,匹配和替換的用法。
- 在這種情況下,
[A-Z]
是否只檢查一個字符或整個字符串? +
是否分開(拆分?)出字符?
我需要檢查輸入的信息是否是3個字符長,首先應該是0-9
秒A-Z
和第三個0-9
。在Javascript中使用正則表達式
我寫的模式如下:
var pattern = `'^[A-Z]+[0-9]+[A-Z]$'`;
var valid = str.match(pattern);
我糊塗了用正則表達式來選擇,匹配和替換的用法。
[A-Z]
是否只檢查一個字符或整個字符串?+
是否分開(拆分?)出字符?1)+
匹配一個或多個。你想要的是一個
2)聲明你的模式作爲一個正則表達式的文字,裏面正斜槓
考慮到這兩點,你的模式應該是
/^[A-Z][0-9][A-Z]$/
注意也可以使圖案用\d
快捷方式替換[0-9]
稍短(匹配任何數字字符)。
3)或者,如果您要允許兩種情況,請在最後一個斜槓後添加不區分大小寫的i
標誌。
4)如果你想僅僅測試一個字符串模式匹配,而不是從中獲取匹配,使用test()
,不match()
- 這是更有效的。
var valid = pattern.test(str); //true or false
這是你所需要的正則表達式:
^[0-9][A-Z][0-9]$
在這種情況下,確實[A-Z]只檢查一個字符或整個字符串?
它只是檢查1個字符,但一個字符可以在字符串中多次..
你應該添加^,爲了像我一樣整個字符串匹配$。
是否將字符分開(分割?)? 沒有。
+
標誌只是表明一個字符可以重複1次以上。
「+」表示一個或多個。在你的情況,你應該用準確數量匹配:
/^\w{1}\d{1}\w{1}$/
+
意味着一個或多個字符所以可能的字符串是ABCD1234EF或A3B,無效是3B或A 6B
'+'符號不會突出顯示爲代碼創建列表! – ManseUK 2012-08-07 11:10:04