[英]Using regular expression in Javascript
我需要檢查輸入的信息是否是3個字符長,第一個應該是0-9
秒AZ
和第三個0-9
。
我寫的模式如下:
var pattern = `'^[A-Z]+[0-9]+[A-Z]$'`;
var valid = str.match(pattern);
我對使用正則表達式進行選擇,匹配和替換感到困惑。
[AZ]
只檢查一個字符或整個字符串嗎? +
分開(拆分?)字符? +
表示一個或多個字符,因此可能的字符串是ABCD1234EF或A3B,無效的是3B或A 6B
1) +
匹配一個或多個。 你想要一個
2)將您的模式聲明為REGEX文字,在正斜杠內
考慮到這兩點,你的模式應該是
/^[A-Z][0-9][A-Z]$/
另請注意,通過將\\d
[0-9]
替換為\\d
快捷鍵(匹配任何數字字符),可以使模式稍微縮短。
3)(可選)如果要允許任何一種情況,請在最終的尾部斜杠后添加不區分大小寫的i
標志。
4)如果你只想測試一個匹配模式的字符串,而不是從中檢索匹配,那么使用test()
,而不是match()
- 它更有效。
var valid = pattern.test(str); //true or false
這是你需要的正則表達式:
^[0-9][A-Z][0-9]$
在這種情況下,[AZ]只檢查一個字符或整個字符串嗎?
它只是檢查1個字符,但字符串可以多次使用char。
你應該添加^和$以便像我一樣匹配整個字符串。
+分開(拆分?)字符? 沒有。
+
符號只表示字符可以重復1次以上。
“+”表示一個或多個。 在您的情況下,您應該使用精確數量匹配:
/^\w{1}\d{1}\w{1}$/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.