假定一表单有两上密码文本框的值分别为:pwone,pwtwo;现在要判断两次输入的密码是否一致:
方法1:if(pwone!=pwtwo)
{
alert("两次输入的密码不一样,请重输入!");
}
这个是比较容易理解,且最直观的一个好方法了!
方法2:if(pwtwo.indexOf("pwone",0)==-1)
{
alert("两次输入的密码不一样,请重输入!");
}
但是这个却行不通,是我对这个indexOf()方法理解有什么不对吧!
新手刚上路,恳请各大哥大姐多多指点!多谢!
方法1:if(pwone!=pwtwo)
{
alert("两次输入的密码不一样,请重输入!");
}
这个是比较容易理解,且最直观的一个好方法了!
方法2:if(pwtwo.indexOf("pwone",0)==-1)
{
alert("两次输入的密码不一样,请重输入!");
}
但是这个却行不通,是我对这个indexOf()方法理解有什么不对吧!
新手刚上路,恳请各大哥大姐多多指点!多谢!
if(pwtwo.indexOf(pwone,0)==-1) //不要加引号
{
alert("两次输入的密码不一样,请重输入!");
}
} pwtwo.indexOf(pwone,0)从句子知:pwtwo将包含pwone,即
如果 pwone=123,pwtwo=1234,也会通过,
所以在此不要这么用。
是不是因为:pwtone=document.myform.password1.value;
也就是说是一个定义的变量,还是别的原因?
要是判断pwtwo是否包含字符串"abc"
if(pwtwo.indexOf("abc",0)==-1)
{
alert("此处没有abc");
}
是不是这样写就没有问题了?请详细说一下,多谢了!
返回 String 对象内第一次出现子字符串的字符位置。 strObj.indexOf(subString[, startIndex])参数
strObj必选项。String 对象或文字。subString必选项。要在 String 对象中查找的子字符串。starIndex可选项。该整数值指出在 String 对象内开始查找的索引。如果省略,则从字符串的开始处查找。说明
indexOf 方法返回一个整数值,指出 String 对象内子字符串的开始位置。如果没有找到子字符串,则返回 -1。 如果 startindex 是负数,则 startindex 被当作零。如果它比最大的字符位置索引还大,则它被当作最大的可能索引。 从左向右执行查找。否则,该方法与 lastIndexOf 相同。示例
下面的示例说明了 indexOf 方法的用法。function IndexDemo(str2){
var str1 = "BABEBIBOBUBABEBIBOBU"
var s = str1.indexOf(str2);
return(s);
}
<!--如查传进来的是"A"那么返回的就是"1",如果传进来的是"87879"那么就是没找到就返回"-1"-->