test() 方法用於檢測一個字符串是否匹配某個模式.
返回一個 Boolean 值,它指出在被查找的字符串中是否匹配給出的正則表達式。
regexp.test(str)
參數
regexp 必選項。包含正則表達式模式或可用標志的正則表達式對象。
str 必選項。要在其上測試查找的字符串。
說明
test 方法檢查字符串是否與給出的正則表達式模式相匹配,如果是則返回 true,否則就返回 false。
每個正則表達式都有一個 lastIndex 屬性,用於記錄上一次匹配結束的位置.
var re = /^[1-9]{4,10}$/gi; var str = "123456"; alert(re.test(str)); //返回true
// 執行上面的 test 之後我們可以彈出
alert(re.lastIndex); // 彈出6
即表示上一次在第6個字符之後結束
那麼下一次再調用 test 的時候, 就會從第6個字符之後繼續搜索
解決辦法,將正則表達式的 lastIndex 屬性設置為0
具體代碼如下
<script type="text/javascript"> var re = /^[1-9]{4,10}$/gi; var str = "123456"; alert(re.test(str)); //返回true re.lastIndex=0; alert(re.test(str)); //返回true </script>
JavaScript表單驗證email郵箱,判斷一個輸入量是否為郵箱email,通過正則表達式實現。
//檢查email郵箱
function check(){ var email=document.getElementById("email").value; var isemail=/^[a-z]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?$/i; if (email=="") { alert("請輸入您的郵箱!"); return false; } if (email.length>25){ alert("長度太長"); return false } if (!isemail.test(email)){ alert("不是郵箱"); return false; } }
以上這篇淺談js中test()函數在正則中的使用就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。