use*_*112 16 javascript regex forms
我正在使用这个验证正则表达式的JS Animated Contact Form:
rx:{".name":{rx:/^[a-zA-Z'][a-zA-Z-' ]+[a-zA-Z']?$/,target:'input'}, other fields...
Run Code Online (Sandbox Code Playgroud)
我刚刚发现,我不能输入像"Müller"这样的名字.正则表达式不接受这个.我该怎么办,还允许变音符号?
IPr*_*ory 27
你应该在你的正则表达式unicode代码中使用字符,比如\u0080.对于德语,我找到了下表:
Zeichen Unicode
------------------------------
Ä, ä \u00c4, \u00e4
Ö, ö \u00d6, \u00f6
Ü, ü \u00dc, \u00fc
ß \u00df
Run Code Online (Sandbox Code Playgroud)
(来源http://javawiki.sowas.com/doku.php?id=java:unicode)
Jos*_*son 16
试试这个:
/^[\u00C0-\u017Fa-zA-Z'][\u00C0-\u017Fa-zA-Z-' ]+[\u00C0-\u017Fa-zA-Z']?$/
Run Code Online (Sandbox Code Playgroud)
我已将unicode范围添加\u00C0-\u017F到每个方括号组的开头.
鉴于/^[\u00C0-\u017FA-Za-z]+$/.test("aeiouçéüß")回报true,我希望它应该有效.
fre*_*und 14
在 JS 中,您可以使用u正则表达式上的标志来访问特殊的“元序列”,即\p. \p是具有特殊类别的 Unicode 感知查找Letter。此类别将匹配德语、瑞典语、斯堪的纳维亚语、西里尔字母等字符。
简而言之,使用这个:
/\p{Letter}/u
Run Code Online (Sandbox Code Playgroud)
对蒂尔·桑德斯这篇文章的支持。
我想出了不同范围的组合:
\n\n[A-Za-z\xc3\x80-\xc5\xbe\\u0370-\\u03FF\\u0400-\\u04FF]\nRun Code Online (Sandbox Code Playgroud)\n\n\n\n但我发现它遗漏了@SambitD提案的一些字母,请参阅: https: //rubular.com/r/2g00QJK4rBS8Y4
\n