2017-05-06 73 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+位数字,并且$锚点声明位于字符串末尾的位置。