Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查字符串的数字是否大于1_Javascript_Regex - Fatal编程技术网

Javascript 检查字符串的数字是否大于1

Javascript 检查字符串的数字是否大于1,javascript,regex,Javascript,Regex,我有一个方法返回一个可能包含数字的字符串。我将这些数字提取成一个字符串,字符串的值用逗号分隔 var stringOne = "Returned 12 string"; var extractNum = "1,2" 我现在想要的是对照一个正则表达式检查这个字符串,这个正则表达式测试这个字符串的数字是否大于1?我尝试了几件事,但似乎都不管用。请提出一个实现它的方法。提前谢谢 理想情况下,您可以解析数字并使用Javascript提供的实际数字运算符来完成此操作 如果您真的必须通过正则表达式来执行,

我有一个方法返回一个可能包含数字的字符串。我将这些数字提取成一个字符串,字符串的值用逗号分隔

var stringOne = "Returned 12 string";
var extractNum = "1,2"

我现在想要的是对照一个正则表达式检查这个字符串,这个正则表达式测试这个字符串的数字是否大于1?我尝试了几件事,但似乎都不管用。请提出一个实现它的方法。提前谢谢

理想情况下,您可以解析数字并使用Javascript提供的实际数字运算符来完成此操作


如果您真的必须通过正则表达式来执行,那么可以使用如下内容:
^[2-9]|\d{2,}$
。这将检查数字是否是介于2和9之间的单个数字,或者是由两个或多个数字组成的数字。

您可以执行以下操作:

var extractNum = "1,2";
var hasGreaterThan1 = extractNum.split(',').some(function(val) { return val > 1; })

如果您只想测试提取字符串是否包含大于1的数字,请参阅文档,您可以尝试下面的代码

function check() {
        var str = "1,1,1,1,2,1,1";
        var patt = new RegExp("[2-9]");
        return patt.test(str); // true
    }
如果任何数字大于1,则“ok”为真

var stringOne = "Returned 12 string";
var extractNum = "1,2"
var ok = haveNrBiggerThan1(extractNum);

function haveNrBiggerThan1(str){
    var nums = str.split(",");
    for(var i=0; i<nums.length; i++){var n=parseInt(nums[i]); if(n>1){return true;}}
    return false;
}
var stringOne=“返回12字符串”;
var extractNum=“1,2”
var ok=haveNrBiggerThan1(extractNum);
函数haveNrBiggerThan1(str){
var nums=str.split(“,”);
对于(var i=0;i1){return true;}}
返回false;
}
var matched=“返回12字符串”。匹配(/[2-9]/g)
如果(匹配!==null){
警报(匹配的.join(',);
}否则{
//没有对手

}
不使用正则表达式

extractNum.split(',').map(function(a){return parseInt(a)>1})

那么您想查看for
extractNum
的数字是否大于1?你试过什么?只是为了确定:你的意思是“数字”,而不是“数字”?是否应
“10”
匹配?@TimPietzcker,是数字。
“返回12字符串”。匹配(/([1-9])/g)
如果不匹配,将返回null。它将返回匹配的数字数组。您的最后两个注释是互斥的。如果
stringOne
包含
10
,那么
extractNum
包含
1,0
,没有一个大于1。该死的,你已经赢了我20秒了:p