[英]Validating forms with javascript
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
如果找不到匹配項,則為-1
。
從技術上講,搜索功能嘗試在字符串中查找文本,並返回該字符串首次出現的索引。
例如:
var txt = "This is a funny string";
var resultIndex = txt.search("funny");
// resultIndex will return 10
如果找不到,它將返回-1。
確實應該是(a> = 0),但是上面的方法也可以。
這a != 0
因為它正在測試搜索失敗 ,也就是報告“無效輸入”並返回false
。 a == 0
表示搜索找到匹配項,在這種情況下,輸入有效並且返回true
。
搜索表明它將返回匹配開始的位置的索引,因此,如果不是從0開始,則表示使用了特殊字符。
而且,我永遠不會使用它來驗證我的表單。 匹配名稱非常困難。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.