首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >验证总是无法验证

验证总是无法验证
EN

Stack Overflow用户
提问于 2013-10-19 14:55:51
回答 3查看 40关注 0票数 0

尝试在表单中添加一些验证,但是它总是表现得好像正在验证的数据是无效的,即使它是有效的!

代码语言:javascript
复制
if (document.getElementById("mileageNumber").value  == /^[0-9]+$/)
{
    if (document.getElementById("vehicleNumber").value  == /^[0-9]+$/)
    {
        <Desired Action>
    }
    else
    {
        alert("Please Enter Numbers Only");
    }
}
else
{
    alert("Please Enter Numbers Only");
}

有人能看到我做错了什么吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-10-19 14:59:06

您需要测试regex,而不是将其计算为值。

代码语言:javascript
复制
if(/^[0-9]+$/.test(document.getElementById("vehicleNumber").value)){

    //Validation passed

}
票数 1
EN

Stack Overflow用户

发布于 2013-10-19 14:58:29

您需要使用RegExp.test方法。

代码语言:javascript
复制
/^[0-9]+$/.test(document.getElementById("mileageNumber").value);

您还可以简化正则表达式,如:/^\d+$/

票数 1
EN

Stack Overflow用户

发布于 2013-10-19 15:04:53

您正在将字符串与regex对象进行比较。regex对象描述regex对象的结构。字符串只是一堆字符。他们根本不是一回事..。永远不会。就像伪代码apples == carrots永远不会返回true一样,string == regex也不会返回。它需要一个函数来测试字符串是否具有regex对象描述的结构。

可以使用string.match( .. )对正则表达式正确地测试字符串。

代码语言:javascript
复制
document.getElementById("vehicleNumber").value.match( /^[0-9]+$/ );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19467378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档