Javascript表单验证:对每个字段调用相同的消息,可能是一些愚蠢的typo?

Javascript表单验证:对每个字段调用相同的消息,可能是一些愚蠢的typo?,javascript,forms,Javascript,Forms,我通过创建这个表单验证来练习Javascript。我只想让每个文本字段都有不同的错误消息。谁能解释一下我做错了什么?我没有错误 这是我的代码: <html> <head> <script language="javascript"> function ReloadTextDiv() { var NewText = document.getElementById("naam").value;

我通过创建这个表单验证来练习Javascript。我只想让每个文本字段都有不同的错误消息。谁能解释一下我做错了什么?我没有错误 这是我的代码:

 <html>
    <head>
    <script language="javascript">
        function ReloadTextDiv() { 
            var NewText = document.getElementById("naam").value; 
            NewText = NewText.replace(/\n/g, '<br />'); 
            var DivElement = document.getElementById("textDisplay"); 
            DivElement.innerHTML = NewText; 
        }
        function ReloadTextDiv2() { 
            var NewText = document.getElementById("email").value; 
            NewText = NewText.replace(/\n/g, '<br />'); 
            var DivElement = document.getElementById("textDisplay2"); 
            DivElement.innerHTML = NewText; 
        } 
        function ReloadTextDiv3() { 
            var NewText = document.getElementById("address").value; 
            NewText = NewText.replace(/\n/g, '<br />'); 
            var DivElement = document.getElementById("textDisplay3"); 
            DivElement.innerHTML = NewText; 
        }       
    </script>
    <script type='text/javascript'>
    function formValidator(){

        var naam = document.getElementById('naam');
        var address = document.getElementById('address');
        var email = document.getElementById('email');



        if(isname(naam, "Please enter only letters for your name")){
            if(isAlphanumeric(address, "Numbers and Letters Only for Address")){
                            if(emailValidator(email, "Please enter a valid email address")){
                                return true;
                            }
                        }
                    }



        return false;

    }

    function notEmpty(elem, helperMsg){
        if(elem.value.length == 0){
            alert(helperMsg);
            elem.focus();
            return false;
        }
        return true;
    }

    function isname(elem, helperMsg){
        var numericExpression = /^[0-9]+$/;
        if(elem.value.match(numericExpression)){
            return true;
        }else{
            alert(helperMsg);
            elem.focus();
            return false;
        }
    }

    function isaddress(elem, helperMsg){
        var alphaExp = /^[0-9a-zA-Z]+$/;
        if(elem.value.match(alphaExp)){
            return true;
        }else{
            alert(helperMsg);
            elem.focus();
            return false;
        }
    }



    function emailValidator(elem, helperMsg){
        var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
        if(elem.value.match(emailExp)){
            return true;
        }else{
            alert(helperMsg);
            elem.focus();
            return false;
        }
    }

    </script>
    </head>
    <body>
    <div id="contact_form">  
    <form onsubmit='return formValidator()' >
      <fieldset> 
      <legend>Subscription info</legend>
        <label for="name">Username:</label>
        <input type="text" name="naam" id="naam" class="text" onKeyUp="ReloadTextDiv();" />
        <br />
        <label for="mail">E-mail:</label>
        <input type="text" name="email" id="email" class="text" onKeyUp="ReloadTextDiv2();"  />
        <br />
        <label for="address">Address:</label>
        <input type="text" name="address" id="address"  size="40" class="text" onKeyUp="ReloadTextDiv3();" />
        <legend><input type="submit" value="submit"></legend>
      </fieldset>
    </form>
    </div> 


    <p><span id="textDisplay"></span></p> 
    <p><span id="textDisplay2"></span></p> 
    <p><span id="textDisplay3"></span></p>  
    </body>
    <html>

函数重载TextDiv(){
var NewText=document.getElementById(“naam”).value;
NewText=NewText.replace(/\n/g,“
”); var DivElement=document.getElementById(“textDisplay”); DivElement.innerHTML=NewText; } 函数重载TextDiv2(){ var NewText=document.getElementById(“电子邮件”).value; NewText=NewText.replace(/\n/g,“
”); var DivElement=document.getElementById(“textDisplay2”); DivElement.innerHTML=NewText; } 函数重载TextDiv3(){ var NewText=document.getElementById(“地址”).value; NewText=NewText.replace(/\n/g,“
”); var DivElement=document.getElementById(“textDisplay3”); DivElement.innerHTML=NewText; } 函数formValidator(){ var naam=document.getElementById('naam'); var address=document.getElementById('address'); var email=document.getElementById('email');
如果(isname(naam,“请仅输入您姓名的字母”)){ if(isAlphanumeric(地址,“仅用于地址的数字和字母”)){ 如果(emailValidator(电子邮件,“请输入有效的电子邮件地址”)){ 返回true; } } } 返回false; } 函数notEmpty(elem,helperMsg){ if(elem.value.length==0){ 警报(helperMsg); 元素焦点(); 返回false; } 返回true; } 函数isname(elem,helperMsg){ var numericExpression=/^[0-9]+$/; if(元素值匹配(数值表达式)){ 返回true; }否则{ 警报(helperMsg); 元素焦点(); 返回false; } } 函数isaddress(elem,helperMsg){ var alphaExp=/^[0-9a-zA-Z]+$/; if(元素值匹配(alphaExp)){ 返回true; }否则{ 警报(helperMsg); 元素焦点(); 返回false; } } 功能emailValidator(elem、helperMsg){ var emailExp=/^[\w\-\.\+]+\@[a-zA-Z0-9\.-]+\.[a-zA-Z0-9]{2,4}$/; if(元素值匹配(emailExp)){ 返回true; }否则{ 警报(helperMsg); 元素焦点(); 返回false; } } 订阅信息 用户名:
电邮:
地址:


嗯,我认为尝试将名称验证为数字并不是最合理的做法;)


嗯,我认为尝试将名称验证为数字并不是最合理的做法;)


您每次都收到哪封邮件?代码重复是您的敌人。请不要使用innerHTML设置文本内容。请只为您的姓名输入字母。您每次收到哪封邮件?代码重复是您的敌人。请不要使用innerHTML设置文本内容。请只为您的姓名输入字母名称表达式=/^[A-Z][A-zA-Z]+$/;像那样?给我相同的结果否,只接受字母以外的非空字符串的正则表达式是:/^[a-zA-Z]+$/。这是一个提琴,表达式是唯一改变的:var nameExpression=/^[a-Z][a-zA-Z]+$/;像那样?给我相同的结果否,只接受字母以外的非空字符串的正则表达式是:/^[a-zA-Z]+$/。这是一把小提琴,表情是唯一改变的:
function isname(elem, helperMsg){
    var numericExpression = /^[0-9]+$/; // -> /^[a-zA-Z]+$/
    // ...
}