变音符号适用于变音符号

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)

  • [圣杯](http://unicode-table.com/en).你也可以写范围,即.`[\ u00F0-\u02AF]`. (17认同)

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,我希望它应该有效.

感谢/sf/answers/808555961/.

  • `/^[\u00C0-\u017Fa-zA-Z'][\u00C0-\u017Fa-zA-Z-' ]+[\u00C0-\u017Fa-zA-Z']?$/.test("ü" ) -> 假` (2认同)

fre*_*und 14

在 JS 中,您可以使用u正则表达式上的标志来访问特殊的“元序列”,即\p. \p是具有特殊类别的 Unicode 感知查找Letter。此类别将匹配德语、瑞典语、斯堪的纳维亚语、西里尔字母等字符。

简而言之,使用这个:

/\p{Letter}/u
Run Code Online (Sandbox Code Playgroud)

对蒂尔·桑德斯这篇文章的支持。


Tsu*_*mis 8

我想出了不同范围的组合:

\n\n
[A-Za-z\xc3\x80-\xc5\xbe\\u0370-\\u03FF\\u0400-\\u04FF]\n
Run Code Online (Sandbox Code Playgroud)\n\n\n\n

但我发现它遗漏了@SambitD提案的一些字母,请参阅: https: //rubular.com/r/2g00QJK4rBS8Y4

\n