Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
错误:Javascript总是返回true_Javascript_Javascript Events - Fatal编程技术网

错误:Javascript总是返回true

错误:Javascript总是返回true,javascript,javascript-events,Javascript,Javascript Events,我将此脚本添加到jsp文件中 此函数始终返回true,即使对于失败的情况,如不匹配表达式和所有内容 为什么会这样?怎么解决 <script type="text/javascript"> function validate() { document.getElementById("user").innerHTML=""; document.getElementById("pass").innerHTML=""; document.getElementById(

我将此脚本添加到jsp文件中

此函数始终返回true,即使对于失败的情况,如不匹配表达式和所有内容

为什么会这样?怎么解决

<script type="text/javascript">
function validate()
{
    document.getElementById("user").innerHTML="";
    document.getElementById("pass").innerHTML="";
    document.getElementById("mail").innerHTML="";
    document.getElementById("number").innerHTML="";

    var expression = /^[a-zA-Z_.0-9]+$/;
    var mailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}+$/;
    var numberExp = /^[0-9]+$/;
    if(!document.getElementById('username').value.match(expression))
    {
        document.getElementById('username').focus();
        document.getElementById("user").innerHTML=" Enter valid user name";
        return false;
    }
    if(document.getElementById('password').value.length == 0)
    {
        document.getElementById('password').focus();
        document.getElementById("pass").innerHTML = "Fill Password field";
        document.getElementById("pass").style.visibility = "visible";
        return false;
    }
    if(document.getElementById('cnfpassword').value.length == 0)
    {
        document.getElementById('cnfpassword').focus();
        document.getElementById("pass").innerHTML = "Fill confirm Password field";
        document.getElementById("pass").style.visibility = "visible";
        return false;
    }
    if(document.getElementById('password').value != document.getElementById('cnfpassword').value)
    {
        document.getElementById('password').focus();
        document.getElementById("pass").innerHTML = "Password and confirm password Not match";
        document.getElementById("pass").style.visibility = "visible";
        return false;
    }
    if(!document.getElementById('emailid').value.match(expression))
    {
        document.getElementById('emailid').focus();
        document.getElementById("mail").innerHTML=" Enter valid E-mailID";
        document.getElementById("mail").style.visibility = "visible";
        return false;
    }
    if(!document.getElementById('number').value.match(numberExp))
    {
        document.getElementById('number').focus();
        document.getElementById("number").innerHTML=" Enter only numbers";
        document.getElementById("number").style.visibility = "visible";
        return false;
    }
    else
    {
        return true;
    }
 }
改变 document.getElementById'password'。value.length==0

document.getElementById'password'。value.length==0

在javascript中

下面所有的都将返回true

解决方案

下面所有的都将返回false

==和!=运算符将尝试在进行比较之前将这两个值强制为同一类型


和!==运算符也称为标识运算符,在比较时检查类型和值

上面所说的是正确的,else只对应于最后一个if

还要注意==与===不同


另外,最好在函数中只有一个return语句。

除了重构建议之外,最简单的方法是使用Firebug并调试出错的地方。这将为您省去很多麻烦

您需要重新考虑代码!!你好@karthik,你能给我看一个html的例子吗?你能把它放在屏幕上吗?我在JSFIDLE中复制了它。net@Karthik == != === 在Javascript+1中,因为使用firebug或类似工具应该准确地识别问题所在,并帮助您解决问题。试图识别像这样一大块js中的问题并不容易。
0==""      
0== "0"
false== "0"
null== undefined
0==' \t\r\n '
0===""      
0=== "0"
false=== "0"
null=== undefined
0===' \t\r\n '