[英]Regular Expression for number with range in Javascript
我在使用正則表達式,發現以下代碼返回true
。 誰能解釋為什么?
console.log(/\\d{4,12}$/.test('12345678901234567890'));
如何在正則表達式中使用有限的數字(例如4-8(數字))和一些字母? 例如(('abc7896'-> true,'a78b96'-> true等)
\\d{4,12}
查看字符串是否包含 4到12位正確的數字。 如果要限制此范圍,則可以使用錨標記- ^
表示字符串的開頭, $
表示字符串的結尾,如下所示:
^\\d{4,12}$
或/^\\d{4,12}$/
現在,從字符串的開頭到結尾,只能顯示4到12個字符。
您應該在模式的開頭和結尾使用字符^
和$
。 這樣做是為了表明您正在尋找以數字開頭的字符串,並且該字符串可以包含4到12之間的任意數字。
根據您對問題的評論和修改,可以使用以下正則表達式:
/^(?:[a-z]*\d){4,8}[a-z]*$/gim
正則表達式分解:
^ - Start
(?: - Start non-capturing group
[a-z]*\d - Match 0 or more alphabets followed by a digit
){4,8} - End non-capturing group. [4,8} matches it 4 to 8 times
[a-z]* - Match trailing 0 or more alphabets in input
$ - End
標志:
g - Global search
i - Ignore case Match
m - Multiline mode
您可以檢查字符串中是否有4到12位數字,中間有一些非數字。
console.log(/^\\D*(\\d\\D*){4,12}$/.test('a78b96')); console.log(/^\\D*(\\d\\D*){4,12}$/.test('a786')); console.log(/^\\D*(\\d\\D*){4,12}$/.test('a1234567890123'));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.