我想在 Node.js 中做一些基本的字符串测试。假设我有一个用户输入姓名的表单,我想检查它是垃圾还是真实姓名。
很高兴(或遗憾的是我的检查)我有来自世界各地的用户,这意味着他们的名字包含非英语字符,例如 ä ö ü ß é
。我习惯使用 /[A-Za-z -]{2,}/
但这与 "Jan Buschtöns"
之类的名称不匹配。
我是否必须手动将所有可能的非英语但拉丁字符添加到我的 RegEx 才能工作?我不想要像 /[A-Za-z -äöüÄÖÜßéÉèÈêÊ...]{2,}/
这样的 100 多个字符长的正则表达式。
最佳答案
检查 http://www.regular-expressions.info/unicode.html和 http://xregexp.com/plugins/
如果要包含 unicode,则需要使用 \p{L}
来匹配任何字母字符。
说 unicode,\w
的替代品是 [\p{L}\p{N}_]
那么。
关于javascript - 带有扩展拉丁字母的正则表达式 (ä ö ü è ß),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11704182/