javascript表单验证文本字段长度

javascript表单验证文本字段长度,javascript,validation,Javascript,Validation,我在验证学生ID时遇到了一个问题,它需要10个数字,我遇到的问题是当我输入有效的学生ID时,它仍然返回false。请帮我查一下mycoding,非常感谢 我的学生ID=“1106363”的示例 if((document.appsub.id.value==“”)| |!(isNaN(document.appsub.id.value))| |(document.appsub.id.value.length

我在验证学生ID时遇到了一个问题,它需要10个数字,我遇到的问题是当我输入有效的学生ID时,它仍然返回false。请帮我查一下mycoding,非常感谢

我的学生ID=“1106363”的示例

if((document.appsub.id.value==“”)| |!(isNaN(document.appsub.id.value))| |(document.appsub.id.value.length<11))
{
警报(“请输入正确的学生ID”);
document.appsub.id.focus();
返回false;
}

更新:[link]

在我看来,您似乎不需要NOT操作员

if ((document.appsub.id.value == "") || isNaN(document.appsub.id.value) ||    (document.appsub.id.value.length < 11))
{
    alert("Please enter the correct Student ID");
    document.appsub.id.focus();
    return false;
}
if((document.appsub.id.value==“”)| | isNaN(document.appsub.id.value)| |(document.appsub.id.value.length<11))
{
警报(“请输入正确的学生ID”);
document.appsub.id.focus();
返回false;
}

在我看来,您不需要NOT操作符

if ((document.appsub.id.value == "") || isNaN(document.appsub.id.value) ||    (document.appsub.id.value.length < 11))
{
    alert("Please enter the correct Student ID");
    document.appsub.id.focus();
    return false;
}
if((document.appsub.id.value==“”)| | isNaN(document.appsub.id.value)| |(document.appsub.id.value.length<11))
{
警报(“请输入正确的学生ID”);
document.appsub.id.focus();
返回false;
}

您的IF语句是错误的。你想要:

if ( (document.appsub.id.value == "") || (isNaN(document.appsub.id.value)) || document.appsub.id.value.length < 11) )
    {
        alert("Please enter the correct Student ID");
        document.appsub.id.focus();
        return false;
    }
if((document.appsub.id.value==“”)| |(isNaN(document.appsub.id.value))| | document.appsub.id.value.length<11))
{
警报(“请输入正确的学生ID”);
document.appsub.id.focus();
返回false;
}

您的IF语句是错误的。你想要:

if ( (document.appsub.id.value == "") || (isNaN(document.appsub.id.value)) || document.appsub.id.value.length < 11) )
    {
        alert("Please enter the correct Student ID");
        document.appsub.id.focus();
        return false;
    }
if((document.appsub.id.value==“”)| |(isNaN(document.appsub.id.value))| | document.appsub.id.value.length<11))
{
警报(“请输入正确的学生ID”);
document.appsub.id.focus();
返回false;
}

您需要使用
document.getElementById
方法正确选择元素

var el = document.getElementById("yourid"); if (!(isNaN(el.value)) || (el.value.length < 11)) { alert("Please enter the correct Student ID"); el.focus(); return false; } var el=document.getElementById(“yourid”); 如果(!(isNaN(el.value))|(el.value.length< 11)) { 警报(“请输入正确的学生ID”); el.focus(); 返回false; }
您需要使用
document.getElementById
方法正确选择元素

var el = document.getElementById("yourid"); if (!(isNaN(el.value)) || (el.value.length < 11)) { alert("Please enter the correct Student ID"); el.focus(); return false; } var el=document.getElementById(“yourid”); 如果(!(isNaN(el.value))|(el.value.length< 11)) { 警报(“请输入正确的学生ID”); el.focus(); 返回false; }
这里有点奇怪。 您正在检查该值是否为null,或者是否为数字(如果该值不是数字,则isNaN返回true;如果该值为数字,则isNaN返回true);或者长度是否小于11

如果要确保插入的值不为null,则应写入一个小于11的数字及其长度

if ((document.appsub.id.value == "") || isNaN(parseInt(document.appsub.id.value)) || (document.appsub.id.value.length > 10))

这里有点奇怪。 您正在检查该值是否为null,或者是否为数字(如果该值不是数字,则isNaN返回true;如果该值为数字,则isNaN返回true);或者长度是否小于11

如果要确保插入的值不为null,则应写入一个小于11的数字及其长度

if ((document.appsub.id.value == "") || isNaN(parseInt(document.appsub.id.value)) || (document.appsub.id.value.length > 10))

if语句将捕获长度小于或等于10的学生ID


改为使用长度为10的测试

您的if语句将捕获长度小于或等于10的学生ID


改为根据长度(如10)进行测试

您选择的访问文档元素的方法不是最新的,并且对所有浏览器都不安全。如果要处理元素数组,应该使用类似于
document.getElementById()
的内容,或者使用
document.getElementsByTagName()
。为了让自己的生活更轻松,请考虑自己熟悉jQuery。它会简化你的生活@cars10尝试过,可以指出我哪里错了,谢谢[link]jsfiddle.net/rVswq/1/看看这个。您在if子句中的括号中出错,并且
id.innerHTML.length
错误-->
id.value.length
@cars10这是工作,非常感谢您纠正我:)您选择的用于访问文档元素的方法不是最新的,对于所有浏览器都不安全。如果要处理元素数组,应该使用类似于
document.getElementById()
的内容,或者使用
document.getElementsByTagName()
。为了让自己的生活更轻松,请考虑自己熟悉jQuery。它会简化你的生活@cars10尝试过,可以指出我哪里错了,谢谢[link]jsfiddle.net/rVswq/1/看看这个。您在if子句中的括号中出错,并且
id.innerHTML.length
错误-->
id.value.length
@cars10这是工作,非常感谢您纠正我:)。。。当然没有
在isNaN前面的操作实际上你不知道,但这是更好的跨浏览器兼容性练习。我知道他的代码有点奇怪,所以我只是把正确的方法放在那里
el.innerHTML.length
并不能满足你的需要。取而代之的是
el.value.length
!和。当然,您可以省略第一个条件
(el.value==“”)
,因为这将始终导致长度。。。当然没有
在isNaN前面的操作实际上你不知道,但这是更好的跨浏览器兼容性练习。我知道他的代码有点奇怪,所以我只是把正确的方法放在那里
el.innerHTML.length
并不能满足你的需要。取而代之的是
el.value.length
!和。当然,您可以省略第一个条件
(el.value==“”)
,因为这将始终导致一个长度