function validateText1() {
var txt = document.getElementById("Surname");
var a = txt.value.search(/^[a-zA-Z]{2,}$/);
if (a != 0) {
alert("Invalid Text.\n")
return false;
}
else return true;
}
我遇到了这个验证表单,但我不明白为什么它是a!=0
,不应该是a==0
,因为一个数字,表示第一次出现的指定位置搜索值,如果找不到匹配项,则为-1
。
答案 0 :(得分:0)
从技术上讲,搜索功能会尝试在字符串中查找文本,并返回第一次出现的字符串的索引。
例如:
var txt = "This is a funny string";
var resultIndex = txt.search("funny");
// resultIndex will return 10
如果未找到,则返回-1。
它应该是if(a> = 0),但上面也可以。
答案 1 :(得分:0)
它是a != 0
,因为它正在测试失败搜索,即报告"无效输入"并返回false
。 a == 0
意味着搜索找到匹配项,在这种情况下输入有效并返回true
。
答案 2 :(得分:0)
搜索表明它将返回匹配开始位置的索引,因此如果它不是从0开始,则表示使用了特殊字符。
但是我永远不会用它来验证我的表格。匹配名称非常困难。