js中 regexp 物件使用 test() 來匹配正規表示式時,只要有子字串能夠匹配成功就會返回 true。
如果要當正規表示式完全匹配整個字串時 test() 才返回true的話,可以在正規表示式的開頭加入^ (表示開頭),結尾加入$(表示結尾)。
var reg1 = /12345678/;
var reg2 = /^12345678$/;
var test1 = "12345678";
var test2 = "0123456789";
console.log(reg1.test(test1)); //true
console.log(reg1.test(test2)); //true
console.log(reg2.test(test1)); //true
console.log(reg2.test(test2)); //false
若想完整匹配乙個單詞,可以使用以下形式:
var reg2 = /\bword\b/;
var reg3 = /(?:^|(\s))word(?:$|\s)/;
其中 reg2 的正規表示式會匹配以 "-" 、"." 和其他的字元(沒有一一去測)分隔的單詞
而 reg3 的正規表示式只會匹配以空白字元分隔的單詞
var teststr4 = "word";
var teststr5 = "wordwithoutspace";
var teststr6 = "a word with space";
var teststr7 = "a-word-with-strikethrough";
var teststr8 = "a0word0with0number";
var teststr9 = "a_word_with_underline";
var teststr10 = "a.word.with.decimal";
var teststr11 = "a word with tab";
var reg2 = /\bword\b/;
console.log("reg2.test(teststr4)",reg2.test(teststr4)); //true
console.log("reg2.test(teststr5)",reg2.test(teststr5)); //false
console.log("reg2.test(teststr6)",reg2.test(teststr6)); //true
console.log("reg2.test(teststr7)",reg2.test(teststr7)); //true
console.log("reg2.test(teststr8)",reg2.test(teststr8)); //false
console.log("reg2.test(teststr9)",reg2.test(teststr9)); //false
console.log("reg2.test(teststr10)",reg2.test(teststr10)); //true
console.log("reg2.test(teststr11)",reg2.test(teststr11)); //true
console.log()
var reg3 = /(?:^|(\s))word(?:$|\s)/;
console.log("reg3.test(teststr4)",reg3.test(teststr4)); //true
console.log("reg3.test(teststr5)",reg3.test(teststr5)); //false
console.log("reg3.test(teststr6)",reg3.test(teststr6)); //true
console.log("reg3.test(teststr7)",reg3.test(teststr7)); //false
console.log("reg3.test(teststr8)",reg3.test(teststr8)); //false
console.log("reg3.test(teststr9)",reg3.test(teststr9)); //false
console.log("reg3.test(teststr10)",reg3.test(teststr10)); //false
console.log("reg3.test(teststr11)",reg3.test(teststr11)); //true
正規表示式字元匹配
普通字元由所有那些未顯式指定為元字元的列印和非列印字元組成。這包括所有的大寫和小寫字母字元,所有數字,所有標點符號以及一些符號。最簡單的正規表示式是乙個單獨的普通字元,可以匹配所搜尋字串中的該字元本身。例如,單字元模式 a 可以匹配所搜尋字串中任何位置出現的字母 a 這裡有一些單字元正規表示式模式的...
js 正規表示式匹配中文
簡單匹配中文方法 u0000 u00ff 匹配非單位元組字元 另錯誤方法 u00 uff 匹配 非單位元組字元 還包括一些全半形符號如,等 還有vwxyz字元 說明 u0000 u00ff.包含unicode單位元組編碼 0 255編碼 包含基本控制字元和拉丁文本母。採用該否定表示式,粗略判斷是否含...
JS 正規表示式匹配獲取
表示轉義字元 表示乙個任意字元 表示字元個數 表示字元個數 表示開始與結束 表示非 d表示 1個數字 w 表示乙個字元 不包含中文 s 表示乙個空白字元 表示優先順序,提取組 表示或 方式一 var regobj new regexp d 方式二 var regobj d 推薦使用第二種方式,這種方...