【问题标题】:html input type email does not work for german chars like ä ü öhtml 输入类型电子邮件不适用于 ä ü ö 等德语字符
【发布时间】:2017-02-10 14:38:48
【问题描述】:

我有一个带有这个 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”不是有效的电子邮件。

我现在想允许带有 ä ö ü 字符的电子邮件,所以我将其更改为这个正则表达式:

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

ä => \u00E4

电子邮件“test@gmäil.com”仍然无效,但为什么呢?我是一个正则表达式初学者,也许这就是问题所在。

我需要这种解决方法,因为 ä ö ü 不允许在使用 firefox 的 html 电子邮件输入中使用!

【问题讨论】:

    标签: angularjs html email-validation


    【解决方案1】:

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

    常规字符 [A-Za-z0-9 -_.äöüß 等]

    Unicode:您可以在此处引用它们http://www.utf8-chartable.de/

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

    【讨论】:

    • 不明白...但是 \u00E4 是正确的 'ä' unicde 最后一行中的正则表达式是什么意思?我看到没有'ä'
    • 抱歉,我刚刚打出一些随机字符,我很快就看到了。我提供的网址有帮助。
    • 不,这无济于事,因为我不想考虑随机复制/粘贴的正​​则表达式,我想知道为什么我的带有 '\u00E4' 的正则表达式不起作用!
    猜你喜欢
    • 2012-06-28
    • 1970-01-01
    • 1970-01-01
    • 2019-06-08
    • 2013-07-25
    • 2012-08-14
    • 1970-01-01
    • 1970-01-01
    • 2012-05-20
    相关资源
    最近更新 更多