繁体   English   中英

正则表达式javascript检查逗号分隔的数字

[英]Regular expression javascript to check comma separted numbers

有人可以帮我写一个正则表达式与测试功能一起使用,以在字符串列表或具有逗号分隔数字的数字上找到准确接收的数字。

对于前。 我有像参数一样的数字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”,我很少使用正则表达式。 提前致谢。

如果更容易使用数字列表12,74,48,125,1253,1

不要使用正则表达式。 只要检查一下数字是否在数组中即可。

var nums = [12,74,48,125,1253,1];
if (nums.indexOf(125) >= 0) {
    alert('true');
}

如果必须使用正则表达式,只需对字符串使用searchmatch即可,例如

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。

我建议使用数组indexOf方法来解决您的问题。

var list = '12,74,48,125,1253,1';

function isset(num) {
   return list.split(',').indexOf(""+num) === -1 ? false : true;
}

为什么需要成为正则表达式? 如果要查找确切的数字,请使用indexOf:

var str = '12,74,48,125,1253,1';
var ix = str.indexOf('125');
if(ix == -1) /* number not found */;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM