如何匹配一個不包含特定字段的字符串


1使用兩次indexOf來判斷

代碼略

2使用相反意義的正則表達式

var case1 = "某某公司"; var case2 = "某某合伙"; var case3 = "某某公司或合伙"; var case4 = "某某目標字符串"; var reg = /公司|合伙/; reg.test(case1); //true reg.test(case2); //true reg.test(case3); //true reg.test(case4); //false //寫一個簡單的函數組織一下 function notContains(opt) { return !reg.test(opt); }

3使用負向前瞻正則表達式

var reg = /^(?!.*(公司|合伙))(.*)$/;
reg.test(case1); //false reg.test(case2); //false reg.test(case3); //false reg.test(case4); //true

解釋一下正則:

  • 外層限定開始和結尾

var reg = /^$/
  • 負向前瞻

var reg = /^(?!.*(公司|合伙))$/

這個(?!.*(公司|合伙))只匹配位置,表明右邊沒有出現.*(公司|合伙)的情況就可以匹配。
(公司|合伙)是分支的意思。

  • 匹配任意字符

var reg = /^(?!.*(公司|合伙))(.*)$/

這樣才可以匹配字符,沒有這個(.*),上面的正則實際上和/^$/差不多。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM