Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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 正则表达式检查数字是否不包括特定数字_Javascript_Regex - Fatal编程技术网

Javascript 正则表达式检查数字是否不包括特定数字

Javascript 正则表达式检查数字是否不包括特定数字,javascript,regex,Javascript,Regex,我有一个长度为10位的数字,我想检查我的数字在任何位置是否包含0或2。 如何使用regex实现这一点?如果您想检查您的数字是否有10位数字,并且0或2在某个地方至少出现一次,那么向前看可能是最简单的方法 ^(?=.*[02])\d{10}$ 您可以使用^\d*[02]\d*$检查0或2 ^\d*[02]\d*$:^以开头 \d*:零位或更多位 [02]:匹配0或2 \d*:匹配零个或多个数字,然后$表示匹配结束 console.log(/^\d*[02]\d*$/.test('111

我有一个长度为10位的数字,我想检查我的数字在任何位置是否包含0或2。
如何使用regex实现这一点?

如果您想检查您的数字是否有10位数字,并且0或2在某个地方至少出现一次,那么向前看可能是最简单的方法

^(?=.*[02])\d{10}$

您可以使用
^\d*[02]\d*$
检查0或2

^\d*[02]\d*$
^
以开头

  • \d*
    :零位或更多位
  • [02]
    :匹配
    0
    2
  • \d*
    :匹配零个或多个数字,然后
    $
    表示匹配结束


console.log(/^\d*[02]\d*$/.test('1111011111'));
console.log(/^\d*[02]\d*$/.test('1111211111'));

console.log(/^\d*[02]\d*$/.test('1111111'))使用regEx作为
/[02]/g
搜索每个数字中至少一个0或2的值

功能测试(elmt){
var reg=/[02]/g;
document.getElementById('result').innerHTML=!reg.test(elmt.value);
}


为什么不使用include或indexOf
[13-9]+
之类的函数可能是您想要的。我更喜欢indexOf而不是regex,因为这可能会增加此特殊用途的开销。您的号码是否有长度要求,或者将来会有长度要求吗?这不限于10个数字。@TimBiegeleisen OP从未说过正则表达式必须强制执行10个字符的长度。事实恰恰相反。他们说他们有一个10位数的数字。
var isContain = false;
var no = 1234567890;
if(no.toString().split("").indexOf("2")>=0 || 
no.toString().split("").indexOf("0")>=0){
isContain = true;
}