2012-06-26 109 views
0

我有检查这名正则表达式/^[A-Z][A-Za-z.'\- ]+$/ Unicode支持。需要一个正则表达式

所以,当我键入乔治或乔治·哈里斯或乔治 - 哈里斯其确定。问题是,它并没有在我的语言相匹配的名称,字(希腊)

我如何添加Unicode支持这个正则表达式?

+2

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/RegExp#Example:_Regular_expression_and_Unicode_characters – bfavaretto

+0

Google“unicode regex javascript”,你会发现一些插件。但我必须承认,我从来没有找到一个真正的工作。 –

回答

0

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

以我的经验,如果JavaScript文件保存为UTF-8和使用它的网页是UTF-8,你可以直接使用这些字符。所以像/α/.test('α200β')这样的设置工作。

1

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