我正在使用Javascript正則表達式,但這與我對其工作原理的理解相沖突。與Javascript正則表達式的理解發生衝突
表達是這樣的:/^[0-9]+$/
所以,如果我考這個正則表達式,說一個文本框的值,我的理解是,它會檢查值是否與至少一個數字開始,以至少一位數字結束。然而,現在發生的情況是,只有當整個數值是數字時,測試纔會成功。如果我在兩者之間放置一個字母表,我知道應該使測試成功,但後者失敗。
任何人都可以在此澄清我嗎?謝謝。
我正在使用Javascript正則表達式,但這與我對其工作原理的理解相沖突。與Javascript正則表達式的理解發生衝突
表達是這樣的:/^[0-9]+$/
所以,如果我考這個正則表達式,說一個文本框的值,我的理解是,它會檢查值是否與至少一個數字開始,以至少一位數字結束。然而,現在發生的情況是,只有當整個數值是數字時,測試纔會成功。如果我在兩者之間放置一個字母表,我知道應該使測試成功,但後者失敗。
任何人都可以在此澄清我嗎?謝謝。
是的,它表示從開始到結束的一系列一個或多個數字。
^[0-9].+[0-9]$
會讓你瞭解它在做什麼。
你表達/^[0-9]+$/
說...
^
說: 「開始的字符串的開頭」[0-9]
說: 「匹配字符串必須在下一個包含許多」+
說,「該數字可以重複任意次數,但必須至少出現一次「$
說,」該字符串必須結束「既然你沒有指定中間可能有字符或任何東西,你的正則表達式就不會匹配它。如果你想「打頭的編號和數字結尾」嘗試...
/^[0-9](.*[0-9])?$/
它說
^
開始在字符串的開頭(
啓動組 - 但忽略此現在...它會變得明顯後[0-9]
後跟數字.
後跟任意字符*
讓「任何字符」指定前夕重複零次或多次[0-9]
後跟數字)?
但允許「任何字符後跟一個數字」存在或不存在。這允許我們只有一個數字作爲匹配字符串。或者你可以使用/^[0-9]([0-9a-zA-Z]*[0-9])?$/
如果要限制對數字和字母
好了,所以它不檢查數字在開始和結束時分別,而是'從開始到結束'? – 2013-05-09 22:44:00
不,這意味着在行首,應該有一個或多個數字字符,然後應該有行結尾 – 2013-05-09 22:45:48
啊!好的!謝謝。 – 2013-05-09 22:48:40