我有一个带有这个html的angularJS应用程序:
<input type="email" ng-model="model.email"
pattern="[\u0020-\u0039\u0041-\u007E]+@@.+\..+"
ng-class="{ invalid : formB.email.$dirty && formB.email.$invalid }" required>
它还确保“test @ yahoo”不是有效的电子邮件。
我现在想要允许使用äöüchars的电子邮件,所以我将其更改为此正则表达式:
pattern="[\u0020-\u0039\u0041-\u007E\u00E4]+@@.+\..+"
ä => \u00E4
电子邮件“test@gmäil.com”仍然无效,但为什么?我是一个正则表达式的首发,也许就是这个问题。
我需要这种解决方法,因为例如使用firefox的html电子邮件输入不允许使用äöü!
答案 0 :(得分:0)
这就是你要找的东西。 JavaScript不会考虑您必须更具体的这些字符。
常规字符 [A-Za-z0-9 -_。äöß等]
Unicode:您可以在http://www.utf8-chartable.de/
中引用它们[A-Za-z0-9 -_。\ u00C0- \ u00D6 \ u00D8- \ u00F6 \ u00F8- \ u00FF]