需要unicode支持正则表达式

时间:2012-06-26 16:46:43

标签: javascript regex

我有这个正则表达式/^[A-Z][A-Za-z.'\- ]+$/来检查名称。

所以,当我输入乔治或乔治哈里斯或乔治哈里斯时,可以。问题是它与名称,我的语言(希腊语)中的单词不匹配

如何为此正则表达式添加unicode支持?

2 个答案:

答案 0 :(得分:1)

XRegExp库增加了对正则表达式的JS实现中缺少的字符类和其他东西的支持。我想你会发现它Unicode addon特别有用。

答案 1 :(得分:0)

您可以使用unicode匹配希腊字母。 Here's a map unicode中的希腊字符。如果我理解的话,/[A-Z]/i会翻译/[\u03B1-\u03C9]/i。所以对于希腊字符(以及在我的国家,变音符号),你需要知道它们的unicode等价物,并在正则表达式中将它们用作\uxxxx

根据我的经验,如果javascript文件保存为utf-8并且使用它的网页是utf-8,则可以直接使用这些字符。所以像/α/.test('α200β')之类的东西在这样的设置中起作用。