2017-02-10 56 views
0

我有这个网站的angularJS应用工作:HTML输入型电子邮件不为德国字符像üö

<input type="email" ng-model="model.email" 
    pattern="[\u0020-\u0039\u0041-\u007E][email protected]@.+\..+" 
    ng-class="{ invalid : formB.email.$dirty && formB.email.$invalid }" required> 

另外,它还可以确保“测试@雅虎”不是一个有效的电子邮件。

我现在要允许与öü字符的邮件,所以我把它改成这个表达式:

pattern="[\u0020-\u0039\u0041-\u007E\u00E4][email protected]@.+\..+" 

ä => \u00E4 

电子邮件“[email protected]äil.com”仍然是无效的,但为什么呢?我是一个正则表达式初学者也许是这个问题。

我需要该解决方法,因为äöü不允许使用Firefox的html电子邮件输入例如!

回答

0

这就是你要找的。 JavaScript不考虑这些字符,你必须更具体。

普通字符 [A-ZA-Z0-9 -_äöüß等。]

的Unicode:你可以在这里引用它们http://www.utf8-chartable.de/

[A-ZA-Z0-9 -_ \ u00C0 - \ u00D6 \ u00D8- \ u00F6 \ u00F8- \ u00FF]

+0

不知道它...但\ u00E4是正确的唯一的'ä'你最后一行的正则表达式是什么意思?我看到那里没有'ä' – Pascal

+0

对不起,我只是输入了一些随机字符,我很快就看到了。我跳转了我提供的帮助。 –

+0

我使用这个http://regexr.com/来帮助验证正则表达式。不是我的专业 –

相关问题