2016-12-06 77 views
2

如何使用匹配JavaScript搜索特定的單詞?如何使用匹配javascript搜索特定的單詞?

通過這個代碼,我想提醒not found

function check() { 
 
    var str = "abcdefg"; 
 
    if (str.match(/abc/)) { 
 
    alert("found"); 
 
    } else { 
 
    alert("not found"); 
 
    } 
 
}
<div onclick="check()">CLICK HERE</div>

而對於這個代碼,我想提醒found

function check() { 
 
    var str = "abc"; 
 
    if (str.match(/abc/)) { 
 
    alert("found"); 
 
    } else { 
 
    alert("not found"); 
 
    } 
 
}
<div onclick="check()">CLICK HERE</div>

我該怎麼做?

+1

此 –

回答

2

使用RegExp#test搜索匹配的方法和use word boundary regex確切詞匹配。

<div onclick="check()">CLICK HERE</div> 
 

 
<script> 
 
    function check() { 
 
    var str = "abcdefg"; 
 
    if (/\babc\b/.test(str)) { 
 
     alert("found"); 
 
    } else { 
 
     alert("not found"); 
 
    } 
 
    } 
 
</script>


UPDATE:如果你想生成一個字符串的正則表達式,然後使用RegExp構造。

<div onclick="check()">CLICK HERE</div> 
 

 
<script> 
 
    function check() { 
 
    var str = "abcdefg", 
 
     check = "abc"; 
 
    if (new RegExp('\\b' + check + '\\b').test(str)) { 
 
     alert("found"); 
 
    } else { 
 
     alert("not found"); 
 
    } 
 
    } 
 
</script>

參見:Converting user input string to regular expression

+1

@arectiyurokiyw嘗試的正則表達式,然後使用'(新的RegExp( '\\ B' + XX + '\\ B'))測試(str)' –

+2

@arectiyurokiyw這裏採訪發生了嗎?提供的解決方案不適用於您或什麼? – Jai

+1

@arectiyurokiyw https://jsfiddle.net/6r4o5278/7/ –

相關問題