尝试在表单中添加一些验证,但它仍然表现得好像正在验证的数据无效,即使它有效!
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");
}
有人能看出我做错了吗?
答案 0 :(得分:1)
您需要使用RegExp.test
方法。
/^[0-9]+$/.test(document.getElementById("mileageNumber").value);
您还可以简化正则表达式,如下所示:/^\d+$/
答案 1 :(得分:1)
您需要测试正则表达式,而不是将其评估为值。
if(/^[0-9]+$/.test(document.getElementById("vehicleNumber").value)){
//Validation passed
}
答案 2 :(得分:0)
您正在将字符串与正则表达式对象进行比较。正则表达式对象描述了正则表达式对象的结构。字符串只是一堆字符。它们根本不是一回事......永远。就像伪代码apples == carrots
永远不会返回true一样,string == regex
也永远不会返回。它需要一个函数来测试字符串是否具有正则表达式对象描述的结构。
您可以使用string.match( .. )
针对正则表达式正确测试字符串。
document.getElementById("vehicleNumber").value.match( /^[0-9]+$/ );