这是我的jsFiddle
它的电话方法,没有名字
这条线现在好吗?如果前3个字母是087
,我只希望它是真的var RightStarting3 = value.substring(0,2) == (087);
if (BlankPass || LessThan10 || RightStarting3 || GreaterThan10 || (HasSpaces > 0))
{
document.getElementById('Phone').style.background = "red";
return false;
}
else {
document.getElementById('Phone').style.background = "white";
document.getElementById("PhoneTick").style.visibility="visible";
return true;
}
答案 0 :(得分:3)
var RightStarting3 = value.substring(0,3) === ('087');
答案 1 :(得分:1)
value.substring(x)
返回一个字符串,087
和87
对javascript解释器的含义相同。您应该更改其中一种数据类型,以便它们匹配...
要求整数的子字符串:
var RightStarting3 = parseInt(value.substring(0,2)) == 87;
或者您要与字符串进行比较的值:
var RightStarting3 = value.substring(0,3) == "087";
其次 - 您立即调用ValidateName()
(在NamePass
的作业中)。这真的有必要吗?页面加载时会有空值。
答案 2 :(得分:1)
我认为使用javascript substring(x,y)方法,y值是停止选择的值。因此,在您的示例中,将不会选择前3个字符,而是选择前2个字符。
var a = "123";
// this returns "12"
alert(a.substring(0,2));
您可能希望改为使用var RightStarting3 = value.substring(0,3) == ('087');
。
答案 3 :(得分:0)
KingKongFrom的回答是正确的,我想补充一点,你应该确保value
(不管是什么)首先不是null,因为如果你尝试在null上调用substring
它会抛出一个异常并死亡。