Javascript Node.js Unicode正则expression式
我需要inputvalidation,良好的inputvalidation,以保持一切清洁。 所以我想在“全名”,国际上严格的正则expression式,所以我需要Unicode支持。 我下载了XRegExp,它将“他们的格式”编译为正则expression式,并支持Unicode:
正确的名字:
- 约翰·埃尔克耶德
- 安德烈·斯文森
- Marco d'Almeida
- Kristoffer la Cour
不正确的名字:
- 汉斯
- H4nn3安徒生
- 马丁·亨里克森!
所以我需要:
- 匹配unicode字母(a,æ)
- 匹配unicode口音(á,Ë等)
- 匹配unicode连字符( – _等)
在PHP中,我可以执行以下操作来匹配:
\p{L} (unicode letter) \p{Mn} (unicode accents) \p{Pd} (unicode hyphens)
我发现,我可以用XRegExp做:
^ \ p {L} + $会匹配'日本'所以只有一个字母的作品,但我怎样才能弄清楚如何做这些unicode的口音,hypens?
感谢帮助。
看起来@lanzz给了你关于名称validation潜在问题的一些好的反馈,但是对于logging,你可以像使用PHP一样使用你提到的XRegExp的Unicode类别。 例如, XRegExp('^[\\p{L}\\p{Mn}\\p{Pd} ]+$')
。 这需要XRegExp的Unicode类别插件。 请注意,由于JavaScriptstring字面量转义规则,反斜杠被转义。