您好,我有一個正則表達式,最多隻允許18個字符的數字,字母和空格。正則表達式允許字母數字和空格,但不能連續兩個空格
我該如何修改這個來檢查字符串是以空格開始還是在一行中有兩個空格?
/^[0-9A-Za-z\s]{1,18}$/
我在本地JavaScript(而不是jQuery)和PHP中都使用這個正則表達式。
您好,我有一個正則表達式,最多隻允許18個字符的數字,字母和空格。正則表達式允許字母數字和空格,但不能連續兩個空格
我該如何修改這個來檢查字符串是以空格開始還是在一行中有兩個空格?
/^[0-9A-Za-z\s]{1,18}$/
我在本地JavaScript(而不是jQuery)和PHP中都使用這個正則表達式。
可以使用負look-ahead檢查,如果字符串以空格開始,或者有2個或更多的連續空間,像:
^(?!.*\s{2,})(?!^)[0-9A-Za-z\s]{1,18}$
(?:(?![ ]{2}).)+
使用本正則表達式。這可能會解決您的問題。
如果你對這個非正則表達式做一個單獨的檢查,這真的更容易... – CBroe
當你說連續兩個空格時,你的意思是字符串中的任何位置? –
請注意'\ s' [不匹配*空格*](http://php.net/manual/en/regexp.reference.escape.php) – fusion3k