电子邮件验证和电话号码

时间:2016-10-17 16:30:57

标签: javascript

我需要做什么:

-Email字段需要遵守EMAIL格式( _ @ .__),如果用户不尊重它,则应弹出一条消息。 - 在这里我无法完成,我不知道如何完成。

-Phone字段只需要用数字填写。 - 也没有...并且此功能的变量也阻止了整个脚本..我不知道如何完成工作。

我做了什么: - 输入电子邮件和电话,完成

- 最多20个字符的电子邮件和15个字符的电话,完成

- 至少1个字符的电子邮件和2个字符的电话,完成

这是代码:

     <script>
    function checkForm() {

        var div5 = document.getElementById("email1");
        var div6 = document.getElementById("email2");
        var div7 = document.getElementById("email3");
        var div8 = document.getElementById("phone1");
        var div9 = document.getElementById("phone2");
        var div10 = document.getElementById("phone3");

        var email = document.getElementsByName("Email");
        var phone = document.getElementsByName("Phone");

        div5.style.display="none";
        div6.style.display="none";
        div7.style.display="none";
        div8.style.display="none";
        div9.style.display="none";
        div10.style.display="none";

        var query = document.getElementsByName('Phone').value;
        var isNumeric=query.match(/^\d+$/);
        if(isNumeric){
            div10.style.display="inline";
        }     



        if (email[0].value.length>20){
            div5.style.display="inline";
        }           else if (email[0].value.length<1){
                             div6.style.display = "inline";         
                    }

        if (phone[0].value.length>15){
            div8.style.display="inline";            
        }           else if (phone[0].value.length<2) {
                             div9.style.display="inline";
                    }


    function checkEmail() {

            var email = document.getElementById('email');
            var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

            if (!filter.test(email.value)) {
            alert('Please provide a valid email address');
            email.focus;
            return false;
            }
    }


    }

     </script>
  </head>

    <body>
        <form name="mainform">  

        <div id="email">Email</div>
        <input type="text" name="Email">
        <div style="display:none" id="email1">error - max 20 characters.</div>
        <div style="display:none" id="email2">error - at least 1 character.</div>
        <div style="display:none" id="email3">error - respect the format __@__.__</div>

        <div id="phone">Phone</div>
        <input type="text" name="Phone">
        <div style="display:none" id="phone1">error - max 15 characters.</div>
        <div style="display:none" id="phone2">error - at least 2 character.</div>
        <div style="display:none" id="phone3">error - only digits.</div>

        <br>
        <button type="button" onclick="checkForm(); checkEmail();"/>Check form</button>

1 个答案:

答案 0 :(得分:0)

您可能想要使用正则表达式。通过一些谷歌搜索,你可以找到你应该如何做到这一点。

您可以使用此网站测试您的正则表达式模式:http://regexr.com/

相关问题