簡體   English   中英

表單驗證正則表達式和DOM:什么是在表單驗證中實現正則表達式的最佳方法

[英]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
     };

參見http://www.w3schools.com/jsref/jsref_regexp_test.asp

為什么您的代碼沒有數學任何值? 因為您使用了按類型的相等性測試=== 在JavaScript世界的動態類型中,它聲明:如果這些值的類型相同,則測試它們的類型,如果它們相等,則測試它們的值。 因此,當您嘗試以這種方式測試某些文本框(即字符串)的值時

typeof('a')

該代碼將產生“字符串”,因為“ a”確實是字符串。 但:

typeof(/^[a-zA-Z]+$/)

這將產生“對象”。 如您所見,當您嘗試將字符串與對象進行比較時,類型式相等性測試將始終返回false。

那是為了測試對象及其值的相等性。 對於正則表達式,請參見“ bam”答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM