【问题标题】:Regex should works with '-' too正则表达式也应该与 '-' 一起使用
【发布时间】:2018-09-04 04:09:14
【问题描述】:

通常我的电子邮件可以与 tmail.somthing@trak.com 一起使用,不幸的是,我的电子邮件也应该与 tmail.ab-cd@track.com 一起使用

regex: /^tmail\.[a-z0-9\.]+@track.com$/i

【问题讨论】:

  • 正则表达式:/^tmail\.[a-z0-9\.-]+@track.com$/i
  • 使用 \ 字符转义正则表达式中具有特殊含义的字符。
  • 我不知道为什么你在前面加上/^tmail 你提供的第一封电子邮件也是无效的(双@),你写错了 trak 我认为它应该是跟踪。正则表达式:/^.[a-z0-9\.-]+@track.com$。 W3C 使用了更有效的方式:/^[a-zA-Z0-9.!#$%&’*+/=?^_{|}~-]+@track.com$/i`
  • @Doomenik 电子邮件应该以 tmail 开头...这就是为什么 ' /^tmail\.'附加正则表达式
  • @JintoJohn 您的示例是“我的电子邮件也可以与 'tbl.ab-cd...' 一起使用”这不是以 tmail 开头的,因此要使您自己的示例正常工作,您必须删除正则表达式的那部分,句号。

标签: javascript regex jquery-ui extjs regex-negation


【解决方案1】:

首先你的第一个例子是错误的,它有两个@。您的正则表达式期望 tmail 后跟一个 . 字符。我想你想要这样:

如果你只想添加-

/^tmail\.[a-z0-9\.-]+@track.com$/i

匹配项:tmail.whatever@track.com 和 tmail.what-ever@track.com

如果要按照html5标准制作(input type="email")。

/^tmail\.[a-zA-Z0-9.!#$%&’*+/=?^_{|}~-]+@track.com$/i

【讨论】:

    【解决方案2】:

    您不应附加 /^tmail\. 并尝试使用 ^[a-z0-9\.-]+@track.com$ 正则表达式。

    【讨论】:

    • 电子邮件应该以 tmail 开头...这就是为什么 '/^tmail\.'附加正则表达式
    猜你喜欢
    • 2015-12-18
    • 2016-12-29
    • 2011-06-19
    • 2012-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-26
    相关资源
    最近更新 更多