【问题标题】:Javascript Coding in HTMLHTML 中的 Javascript 编码
【发布时间】:2012-10-08 08:27:26
【问题描述】:

我正在写一份注册表单。我的问题是我将如何连接第一个语句和下面的函数,以便当有人在文本框中输入他们的电子邮件时,它会检查电子邮件是否有效? (document.getElementById('user').value)

<input id="user" type="text" onblur="isUserNameValid();"></input><br/>


function isEmailValid(email) {
"use strict";
        var e = email.split("@"), local = /[^\w.!#$%&*+-\/=?^_{|}~]/, domain = /[\w.-]/;
if (e.length !== 2) {
    return false;
}
if (local.test(e[0])) {
    return false;
}
if (e[0].length > 253) {
    return false;
}
if ((e[0][0] === ".") || (/\.\./.test(e[0]))) {
    return false;
}
if (domain.test(e[1])) {
    return false;
}
if (e[1].length > 253) {
    return false;
}
if (e[1][0] === "." || /\.\./.test(e[1]) || e[1][e[1].length - 1] === ".") {
    return false;
}
return true;
}

【问题讨论】:

  • 你说作业,可以用HTML5吗?然后您可以简单地将输入类型设置为“电子邮件”。
  • @Endophage 是的,你可以使用 HTML5。

标签: javascript html registration email-validation


【解决方案1】:

您确认可以使用 HTML5,只需将您的输入更改为以下内容,浏览器将在提交表单时为您验证电子邮件。

<input id="user" name="user" type="email" /><br/>

注意您可以使用自闭合标签作为输入。您还应该分配inputname 属性,因为这是将数据提交到服务器时用作数据的键。

【讨论】:

    【解决方案2】:
       <input type="text" id="email" name="email"  onblur="javascript:return validate();"/>
    
    <script>
        function validate() {
    
            var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
            var address = document.getElementById("email").value;
            if (reg.test(address) == false) {
    
                alert('Invalid Email Address');
                return false;
            } else {
                alert('valid Email Address');
                return false;
            }
        }
    
    </script>
    

    【讨论】:

      猜你喜欢
      • 2013-03-05
      • 2013-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-08
      • 1970-01-01
      • 2015-10-16
      • 1970-01-01
      相关资源
      最近更新 更多