2017-05-06 76 views
1

我正在使用下面的代碼找到加號的匹配,但它一直返回false。我不確定我做錯了什麼。任何幫助將非常感激。謝謝!需要幫助使用javascript正則表達式尋找加號

var str = '+2443'; 
var result = /d\+1/.test(str); 
console.log(result); // true 
+1

你的正則表達式匹配一個文字'd',後面跟着一個文字'+',後面跟着一個文字'1',它是'd + 1'。當然,這不符合'+ 2443'。您是否嘗試瞭解正則表達式對於[Regex101.com](https://regex101.com/r/KTCnJQ/1)等工具的含義? – Xufox

+0

你說得對。我應該先考慮一下。我複製它從谷歌粘貼它。我剛剛讀了一下,並使其與 var result = /\+/.test(str); – json4040

回答

0
var str = '+2443'; 
var result = /\+/.test(str); 
console.log(result); // true 
0

/d\+1/正則表達式中的任何字符串d+1字符串的第一個實例匹配。

要檢查字符串是否包含+,則不需要正則表達式。使用indexOf

var str = '+2443'; 
 
if (~str.indexOf("+")) { 
 
\t console.log("Found a `+`"); 
 
} else { 
 
\t console.log("A `+` is not found"); 
 
}

regex將是比較合適的,當你需要在一些方面匹配+。例如,要檢查字符串由加號,然後只包含數字,你會用

var str = '+2443'; 
 
var rx = /^\+\d+$/; 
 
console.log(rx.test(str));

其中^資產在字符串的結束位置,\+匹配文字+,\d+匹配1+位數字,並且$錨點聲明位於字符串末尾的位置。