我無法找到或創建僅匹配字母,空格,重音字母和西班牙語和德語字母的正則表達式。如何在正則表達式中匹配非ASCII(德語,西班牙語等)字母?
我使用這個現在:
var reg = new RegExp("^[a-z _]*$");
我已經試過:
^[:alpha: _]*$
^[a-zA-Z0-9äöüÄÖÜ]*$
^[-\p{L}]*$
任何想法?或者JavaScript引擎支持的正則表達式是有限的?
我無法找到或創建僅匹配字母,空格,重音字母和西班牙語和德語字母的正則表達式。如何在正則表達式中匹配非ASCII(德語,西班牙語等)字母?
我使用這個現在:
var reg = new RegExp("^[a-z _]*$");
我已經試過:
^[:alpha: _]*$
^[a-zA-Z0-9äöüÄÖÜ]*$
^[-\p{L}]*$
任何想法?或者JavaScript引擎支持的正則表達式是有限的?
第2至最後一種情況看起來像它應該工作,但缺少 「」 和 「_」:
/^[a-zA-Z0-9äöüÄÖÜ]*$/.test("aäöüÄÖÜz")
=> true在FF 3.6和IE8
/^[a-zA-Z0-9äöüÄÖÜ]*$/.test("é")
=>在FF 3.6虛假和IE8
我無法在the ECMAScript specification中找到其他構造。
快樂編碼。
編輯也檢查頁面編碼,並確保它是「unicode」(UTF-8可能)。如果無法保證,那麼在正則表達式中使用\uXXXX
轉義序列(使用轉義可以完成,並可能有助於源代碼編輯/控制)。
我解析名稱輸入字段,而這似乎是工作德語和法語:
^[a-zA-Z\-ÀàÂâÆæÇçÈèÉéÊêËëÎîÏïÔôŒœÙùÛûÜü]*$
有些人有一個像'羅爾夫 - 迪特爾的名字,這讓他們通過,同時檢查數字。有點極端,但它的作品!
賓果!它現在就像一個魅力@@@ – 2011-03-17 18:51:23