使用javascript验证电子邮件地址

Validate email address using javascript

本文关键字:电子邮件地址 验证 javascript 使用      更新时间:2023-09-26

这是我用来在用户点击提交按钮时验证电子邮件地址的代码,

/^'w+(['.-]?'w+)*@'w+(['.-]?'w+)*('.'w{2,3})+$/.test(EmailID);

我想允许撇号(')到用户输入的电子邮件地址,上面的正则表达式的修改是什么?

try this:

/^('w|')+(['.-]?('w|')+)*@'w+(['.-]?'w+)*('.'w{2,3})+$/

它将允许在'@'之前的任何地方使用撇号

您当前的正则表达式匹配以下电子邮件地址:

  • test@provider.com
  • test-user@provider.com

但是不匹配:

  • test-user-name@provider.com

如果你只是想验证包含一个撇号的电子邮件地址,就像这样:

    测试'username@provider.com

然后在第一个括号中添加引号:

/^'w+(['.-]?'w+)@'w+([.-]?'w+)(.'w{2,3})+$/

但是它仍然不能匹配很多电子邮件地址(一个带有破折号和撇号,一个带有多个破折号[…])

使用正则表达式可能是最好的方法。下面是一个示例(demo):

function validateEmailAddress(emailID) { 
    var emailRgx = /^(([^<>()[']''.,;:'s@'"]+('.[^<>()[']''.,;:'s@'"]+)*)|('
".+'"))@(('[[0-9]{1,3}'.[0-9]{1,3}'.[0-9]{1,3}'.[0-9]{1,3}'])|(([a-zA
-Z'-0-9]+'.)+[a-zA-Z]{2,}))$/;
    return emailRgx .test(emailID);
}