2013-04-22 108 views
1

我想用JavaScript驗證這個正則表達式。我需要做的是檢查是否至少輸入2個單詞。我的意思是任何字符的字符串,除了某些特定的字符。一切都很好,直到我結束一個帶有特殊Unicode字符的字符串,如「ā」。然後表達式無法驗證。目前,表達式看起來像這樣 - /^([^<>\\\/\?&{};#{}\+\*()"=%@,:0-9]{1,}\w){2,}$/i正則表達式和unicode

關於如何在這種情況下驗證unicode表達式的任何想法?

+1

[XRegExp](http://xregexp.com/)? – 2013-04-22 14:33:24

+0

請參見[正則表達式匹配非英文字符?](http://stackoverflow.com/questions/150033/regular-expression-to-match-non-english-characters),特別是對接受的答案的評論。順便說一下,你的角色班裏有兩個'{}'。你認爲什麼是一個有效的詞分離器? – MikeM 2013-04-22 15:03:16

+0

查看我的回答[此問題](http://stackoverflow.com/a/7578937/626273) – stema 2013-04-22 15:17:22

回答

0

在大多數編程郎,你會嘗試這樣的Unicode正則表達式:

/^([^<>\\\/\?&{};#{}\+\*()"=%@,:0-9\s]{1,}\p{L}){2,}$/ims 

或者這樣

/^([^\P]{1,}\p{L}){2,}$/ims 

然而,JS犯規支持Unicode,很容易:(

在這裏看到例如:Javascript + Unicode regexes