您好我有一个字符串可能是这样的
var str = "127";
或
var str ="127,5,28,12";
我想检查号码是否存在我不想再添加它。所以我用
if(!str.includes(id))
// do so and so
但includes
的问题在于,如果我搜索1,它将从127获得它并且这不准确。有没有更好的方法来检测js中的确切数字?
答案 0 :(得分:3)
尝试:
var str ="127,5,28,12";
var exists = str.split(/,/).indexOf("127")
if(exists > -1){
alert("127 Exists!")
}
//--- Like your example ---
String.prototype.includes = function(id){
return this.split(/,/).indexOf(id) !== -1
}
if(str.includes("28")){
alert("28 Exists!")
}
答案 1 :(得分:2)
你可以使用:
str.split(',').indexOf('127');
答案 2 :(得分:1)
您可以使用word boundary (\b
):
/\b127\b/.test(str)
// => true
/\b1\b/.test(str)
// => false