2013-04-22 122 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