javascript - jQuery:使用 'name_lastName@company.com' 格式的电子邮件验证

标签 javascript jquery regex validation

大家好:

我正在尝试使用 jQuery 使用以下格式验证电子邮件:

[name]_[lastname] @ company.com (always ending in 'company.com')

这是一个代码示例:

HTML:

<body>
  <form onSubmit='validate(); return false;'>
  <p>Enter an email address:</p>
  <input id='email'>
  <button type='submit' id='validate'>Validate!</button>
  </form>

  <br/>
  <h2 id='result'></h2>
<script>

CSS:

  article, aside, figure, footer, header, hgroup, 
  menu, nav, section { display: block; }

JS:

function validateEmail(email) { 

    var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@(usmp.pe)$/;
    return re.test(email);
}

function validate(){
  $("#result").text("");
  var email = $("#email").val();
  if (validateEmail(email)) {
    $("#result").text(email + " is valid :)");
    $("#result").css("color", "green");
  } else {
    $("#result").text(email + " is not valid :(");
    $("#result").css("color", "red");
  }
  return false;
}

$("form").bind("submit", validate);

我正在使用以下 jsFiddle

通过此示例,我可以验证以“company.com”结尾的电子邮件,但我无法弄清楚如何验证姓名和姓氏之间的“@”之前带有“_”符号的电子邮件。有什么想法吗?

谢谢!

最佳答案

您只需在名字正则表达式后面添加一个破折号,然后再次复制它作为姓氏。

它应该看起来像这样:

var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))_(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@(company.com)$/;

如果您用此行替换代码,它应该可以工作。

(编辑:将破折号更改为下划线)

关于javascript - jQuery:使用 'name_lastName@company.com' 格式的电子邮件验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25670803/

相关文章:

javascript - iPad 在 chrome 中打印整个页面而不是目标 div

Javascript/jQuery 两个日期选择器计算日期范围

javascript - 用字符串填充数组的最佳方法

javascript - 关于 javascript 解析的建议/意见

javascript - 如何捕获单击和双击复选框

javascript - 当可观察值发生更改时, knockout 绑定(bind)不会更新

javascript - 将 keyup 方法绑定(bind)到两个 jQuery 对象

jQuery 水平滚动隐藏,可能只有 css?

javascript - 为什么正则表达式对 5-n www 有反应?

python - 使用 python 从文本中获取个人和组织名称的方法