简体   繁体   English

Javascript表单验证不适用于任何字段

[英]Javascript Form validation not working on any fields

Below is form validation using JavaScript but it's not working. 以下是使用JavaScript进行表单验证的方法,但无效。

function validate()
{
    var n=document.frm.name.value();
    if(!n.match(/^[a-zA-Z]+$/))
    {
    alert("Enter valid Name");
    document.frm.name.value="";
    document.frm.name.focus();
    return false;
    }

    var b=document.frm.mob.value();
    if(!b.match(/^[0-9]+$/) || b.length<10 || b.length>10)
    {
    alert("Enter valid Name");
    document.frm.mob.value="";
    document.frm.mob.focus();
    return false;   
    }

    var y=document.frm.nn.value();
    if(y==null || y=="")
    {
    alert("Enter valid Name");
    document.frm.nn.value="";
    document.frm.nn.focus();
    return false;   
    }

    var z=document.frm.email.value();
    if(!z.match(/^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/))
    {
    alert("Enter valid Name");
    document.frm.email.value="";
    document.frm.email.focus();
    return false;   
    }
}


<body>
<form name="frm" action="#" method="post" onsubmit="return validate()">
Name :<input type="text" name="name"/>
Mobile No:<input type="text" name="mob" />
Not Null :<input type="text" name="nn"/>
Email Id:<input type="text" name="email"/>
<input type="submit" name="submit" value="submit"/>
</form>
</body>

First off, don't name your fields with reserved words (like "name") 首先,不要使用保留字来命名您的字段(例如“名称”)

Second, value is a property, not a method, so, 其次,值是属性,而不是方法,因此,

var b=document.frm.mob.value;

(without the brackets) (无括号)

Please,place return false outside the function. 请在函数外放置false。

         var b=document.frm.mob.value;
        if(!b.match(/^[0-9]+$/) || b.length<10 || b.length>10)
        {
        alert("Enter valid Name");
        document.frm.mob.value="";
        document.frm.mob.focus();     
        }

        var y=document.frm.nn.value;
        if(y==null || y=="")
        {
        alert("Enter valid Name");
    document.frm.nn.value="";
    document.frm.nn.focus();

    }

    var z=document.frm.email.value();
    if(!z.match(/^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/))
    {
    alert("Enter valid Name");
    document.frm.email.value="";
    document.frm.email.focus();

    }
    return false;  
}

Instead of calling the function validate() in form tag on event onsubmit , better use it in submit button 与其在事件onsubmit的表单标记中调用函数validate() ,不如在提交按钮中更好地使用它

<input type="submit" name="submit" value="submit" onClick="return validate()" />

It will work better and outputs as required. 它将更好地工作并按要求输出。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM