12

我需要验证文本输入,以便用户可以插入可能包括德语变音符号、法语口音和任何其他有效欧洲字符的字符/文本,例如小号 ø。

我正在使用 AngularJS,所以我将验证规则应用于ng-pattern属性,如下所示:

ng-pattern="/^[A-Za-z0-9 \-_.]*$/"

我希望这会涵盖像 äöüß 这样的字符,但在测试时却没有。很抱歉问了这么一个蹩脚的问题,但我在 RegEx 方面真的很糟糕!一定有比像这样手动列出字母更好的方法ng-pattern="/^[A-Za-z0-9äöüÄÖÜ \-_.]*$/"

4

4 回答 4

19

Javascript 正则表达式不支持 unicode 属性,包含非拉丁字母的唯一方法是在表达式中明确列出它们:

 [A-Za-z0-9 \-_.äöüß etc]

或使用 unicode 范围,例如

 [A-Za-z0-9 \-_.\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]

(参见http://www.utf8-chartable.de/以供参考)。

于 2013-09-25T09:52:26.750 回答
18

[a-zA-Z\x7f-\xff]包含很多特殊字符,如ä ö ü é ß î...

于 2014-03-03T16:51:25.047 回答
0

我遇到了在字符串中查找 Markdown 模式的问题,但如果文本包含变音符号ß ,它就会崩溃。

对文本进行编码实际上帮助了这个扩展

没有更多的崩溃并且效果很好。

于 2022-01-27T07:43:10.807 回答
-3

以下对我有用的空格和特殊字符,没有数字 ^[a-zA-ZÀ-ž ]*$

于 2017-11-12T11:55:02.533 回答