我想匹配有關的話整個字符串在中間的空間只正則表達式,只有
我有這樣的作品之間的空間:
/^[\ba-zA-Z]+$/.test(this.value)
我要爲它有沒有空,返回true與在端部沒有空格詞語,只佔字母和具有至少1
然而,上述返回false爲「ASD ASDF」,如果它認爲任何空間返回false長度
我想匹配有關的話整個字符串在中間的空間只正則表達式,只有
我有這樣的作品之間的空間:
/^[\ba-zA-Z]+$/.test(this.value)
我要爲它有沒有空,返回true與在端部沒有空格詞語,只佔字母和具有至少1
然而,上述返回false爲「ASD ASDF」,如果它認爲任何空間返回false長度
嘗試使用這種模式:
/^[a-zA-Z]+([a-zA-Z]+)*$/
這將匹配由單個空格分隔(的拉丁字母)的任何序列的話,但在末端沒有空格。
也可以將此通過i
標誌區分大小寫匹配簡化一點:
/^[a-z]+([a-z]+)*$/i
爲什麼我的其他正則表達式不起作用的任何解釋? – user2580016
@ user2580016您的解決方案不起作用,因爲在字符類'\ b'內實際引用* backspace *字符 - 原始[ASCII控制字符]之一(http://en.wikipedia.org/wiki/ASCII#ASCII_control_characters)。所以你的模式可以匹配任何拉丁字母或退格字符序列。 –
我該如何將最小和最大字符限制添加到此正則表達式中? {3,20} – peterkr
它必須是正則表達式?這可以通過字符串函數輕鬆完成 – kennypu
什麼是空白字? – Bart
我不明白這個問題,但是你似乎對字邊界/'\ b'有兩個誤解:(1)字邊界是一個零寬度斷言(匹配長度爲0的子字符串,而不是字符)。所以'/。\ b。/'匹配''a-「'和'」-a「'(但不是''aa」'或'' - 「')。 (2)字符類匹配單個字符(不是零寬度斷言),所以字符類中的'\ b'不是字的邊界。它是一個alert/bell字符(請參閱ASCII表格)。 PS:在字符類中使用空格字符沒有任何問題。 –