Javascript Node.js Unicode正则expression式

我需要inputvalidation,良好的inputvalidation,以保持一切清洁。 所以我想在“全名”,国际上严格的正则expression式,所以我需要Unicode支持。 我下载了XRegExp,它将“他们的格式”编译为正则expression式,并支持Unicode:

正确的名字:

  • 约翰·埃尔克耶德
  • 安德烈·斯文森
  • Marco d'Almeida
  • Kristoffer la Cour

不正确的名字:

  • 汉斯
  • H4nn3安徒生
  • 马丁·亨里克森!

所以我需要:

  1. 匹配unicode字母(a,æ)
  2. 匹配unicode口音(á,Ë等)
  3. 匹配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字面量转义规则,反斜杠被转义。