[英]Form validation regex and DOM: What would be the best way to implement regex in a form validation
表單驗證正則表達式和DOM:在表單驗證中實現正則表達式的最佳方法是什么?
我目前正在這樣做,但是當我驗證它與值不匹配時:
if(this.value.length > 0 && this.value === /^[a-zA-Z]+$/ );
先感謝您!
您需要使用test()
方法。
var patt = /^[a-zA-Z]+$/; //define your RegEx
if(this.value.length > 0 && patt.test(this.value)){ //check if this.value is longer than one character AND matches your RegEx
//do something
};
為什么您的代碼沒有數學任何值? 因為您使用了按類型的相等性測試===
。 在JavaScript世界的動態類型中,它聲明:如果這些值的類型相同,則測試它們的類型,如果它們相等,則測試它們的值。 因此,當您嘗試以這種方式測試某些文本框(即字符串)的值時
typeof('a')
該代碼將產生“字符串”,因為“ a”確實是字符串。 但:
typeof(/^[a-zA-Z]+$/)
這將產生“對象”。 如您所見,當您嘗試將字符串與對象進行比較時,類型式相等性測試將始終返回false。
那是為了測試對象及其值的相等性。 對於正則表達式,請參見“ bam”答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.