有人可以帮我写一个正则表达式与测试函数一起用于在字符串列表中找到准确接收的数字或者用逗号分隔数字的数字。
对于前。我有数字125像参数和字符串像'12,74,48,125,1253,1'或如果它更容易使用数字列表12,74,48,125,1253,1(我可以使用两者) 如何编写正则表达式以准确找到此数字并返回true或false。
我使用了这个,但它没有找到数字是否有3个4位数
if(new RegExp('\\b'+number+'\\b').test('12,74,48,125,1253,1')){
alert('true');
}
此列表也可能只有一个数字,如'125' 我很少练习正则表达式。 提前谢谢。
答案 0 :(得分:0)
如果更容易使用数字列表12,74,48,125,1253,1
不要使用正则表达式。只需检查数字是否在数组中。
var nums = [12,74,48,125,1253,1];
if (nums.indexOf(125) >= 0) {
alert('true');
}
答案 1 :(得分:0)
如果您必须使用正则表达式,只需在字符串上使用search
或match
,例如
var indexOfMatch = '12,74,48,125,1253,1'.search(/125/) // -1 if not present
或
var arrayOfMatches = '12,74,48,125,1253,1'.match(/125/) //returns an array of matches
然后你可以测试返回的索引(如果它不是-1)或返回的数组(如果它的长度> 0)来确定125是否存在。
答案 2 :(得分:0)
我建议使用array indexOf方法来解决您的问题。
var list = '12,74,48,125,1253,1';
function isset(num) {
return list.split(',').indexOf(""+num) === -1 ? false : true;
}
答案 3 :(得分:-1)
为什么需要成为正则表达式?如果您要查找确切的数字,请使用indexOf:
var str = '12,74,48,125,1253,1';
var ix = str.indexOf('125');
if(ix == -1) /* number not found */;