我想检查用户输入是否是JavaScript的电子邮件地址,然后将其发送到服务器或试图发送电子邮件,以防止最基本的误解。


当前回答

下面是一个简单的 regex 会只是检查一个电子邮件的基本格式,例如,X@Y.C:

上一篇:S + S + S + S + S

其他回答

另一个完美的电子邮件验证 regexp

/^([^\s\@])+\@(([^\s\@\.])+\.)+([^\s\.]{2,})+$/

您可以在这里测试 https://regex101.com/r/FV3pUI/2

如果您想要使用 JQuery 并想要具有现代化的方法,则使用 JQuery 输入面具与验证。

http://bseth99.github.io/项目/jquery-ui/5-jquery-masks.html

关于如何简单的jQuery输入面具的演示文稿在这里: http://codepen.io/anon/pen/gpRyBp

一个简单的输入面具的例子为日期 forexample 没有完整的验证

 <input id="date" type="text" placeholder="YYYY-MM-DD"/>

还有剧本:

 $("#date").mask("9999-99-99",{placeholder:"YYYY-MM-DD"});

我真的很高兴能解决这个问题,所以我修改了电子邮件验证的常规表达。

<unk> <unk> <unk> <unk> <unk> <unk> <unk> <unk>

在维基百科的电子邮件地址中提交例子。

你可以在这里看到结果。

此分類上一篇

有一件事你必须明白,第二件事你决定使用一个常规的表达式来验证电子邮件:这可能不是一个好主意,一旦你达成协议,有很多实施,可以让你在那里半路,这篇文章会把它们合成好。

简而言之,但是,唯一的方式是绝对的,肯定的是,用户输入的是实际上一个电子邮件是实际上发送一个电子邮件,看看发生了什么。

HTML5 本身有电子邮件验证,如果您的浏览器支持 HTML5,则可以使用下列代码。

<form>
  <label>Email Address
    <input type="email" placeholder="me@example.com" required>
  </label>
  <input type="submit">
</form>

JSFiddle 链接

从HTML5 spec:

有效的电子邮件地址是一条符合下一个ABNF的电子邮件生产的行,字符设置为 Unicode. 电子邮件 = 1*( atext / "." ) “@” 标签 *( "." 标签 ) 标签 = let-dig [ [ [ ldh-str ] let-dig ] ; 限于 RFC 1034 节 3.5 节 atext = < 如 RFC 5322 节 3.2.3 定义 > let-dig = < 如 RFC 1034 节 3.5 定义 > ldh-str