关于javascript:如何检查“#”标签是否存在于字符串中?

How to check “#” tag is there or not in a string?

本问题已经有最佳答案,请猛点这里访问。

我是node.js的初学者,如果我的问题很愚蠢,请原谅我。我们知道我们可以使用

1
2
var regex = /[ !@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/g;
regex.test(str);

检查一个字符串是否包含特殊的字符,但我要问的是如何只检查一个特殊的字符,这意味着我如何只检查#的存在。

我试着去做var regex = /[#]/g; regex.test(str)。虽然它不起作用,但还有其他方法吗?


您不需要regex来查找字符串中的单个字符。您可以使用indexOf,如下所示:

1
var hasHashtag = str.indexOf('#') >= 0;

如果字符在字符串中,则返回true


使用includes检查字符串中是否存在#。你实际上并不需要regex来做这件事。

1
2
3
4
5
6
7
8
9
10
11
var str = 'someSt#ring';
var res = str.includes('#');
console.log(res);

str = 'someSt#ri#ng';
res = str.includes('#');
console.log(res);

str = 'someString';
res = str.includes('#');
console.log(res);


使用indexOf

1
str.indexOf('#') >= 0;