Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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,我正在寻找一个正则表达式或javascript,当一个数字不在48-47或96-105之间,或不是110或190或8或13时,它会提醒我 谢谢所有帮助我的朋友 Regex不适用于此类特定的数字检查。只需执行几个if语句,将正在使用的值与要排除的特定值和范围进行比较 var number = 19; alert('Number is'+(numberIsValid(number) ? 'valid' : 'not valid')); function numberIsValid(numb

我正在寻找一个正则表达式或javascript,当一个数字不在48-47或96-105之间,或不是110或190或8或13时,它会提醒我


谢谢所有帮助我的朋友

Regex不适用于此类特定的数字检查。只需执行几个
if
语句,将正在使用的值与要排除的特定值和范围进行比较

var number = 19;
alert('Number is'+(numberIsValid(number) ? 'valid' : 'not valid'));

    function numberIsValid(number) {
      // test for numeric argument
      if ((number - 0) != number)
        return false;
      // test for specific exclusions
      if (number == 110 || number == 190 || number == 8 || number == 13 || number == 48 || number == 47)
        return false;
      // test for excluded range
      if (number >= 96 && number <= 105)
        return false;
      return true;
    }
var编号=19;
警报('Number为'+(numberIsValid(Number)?'valid':'not valid');
函数编号有效(编号){
//数字参数测试
如果((数字-0)!=数字)
返回false;
//特定排除的测试
如果(数字==110 | |数字==190 | |数字==8 | |数字==13 | |数字==48 | |数字==47)
返回false;
//排除范围测试

if(number>=96&&numberRegex不适用于此类特定的数字检查。只需执行一些
if
语句,将正在使用的值与要排除的特定值和范围进行比较

var number = 19;
alert('Number is'+(numberIsValid(number) ? 'valid' : 'not valid'));

    function numberIsValid(number) {
      // test for numeric argument
      if ((number - 0) != number)
        return false;
      // test for specific exclusions
      if (number == 110 || number == 190 || number == 8 || number == 13 || number == 48 || number == 47)
        return false;
      // test for excluded range
      if (number >= 96 && number <= 105)
        return false;
      return true;
    }
var编号=19;
警报('Number为'+(numberIsValid(Number)?'valid':'not valid');
函数编号有效(编号){
//数字参数测试
如果((数字-0)!=数字)
返回false;
//特定排除的测试
如果(数字==110 | |数字==190 | |数字==8 | |数字==13 | |数字==48 | |数字==47)
返回false;
//排除范围测试

如果(number>=96&&number我同意Chris上面的回答,如果你想看看它会是什么样子,那就有点乱了。我真的不建议你使用这个

换句话来说:数字可能不是8,13,47,48,96-105110

var num = 10;
if (! /^(8|13|47|48|9[6-9]|10[0-5]|110)$/.test(num)) {
    alert(num);
}

我同意Chris上面的回答,如果你想看看它会是什么样子,它有点乱。我真的不建议你使用这个

换句话来说:数字可能不是8,13,47,48,96-105110

var num = 10;
if (! /^(8|13|47|48|9[6-9]|10[0-5]|110)$/.test(num)) {
    alert(num);
}


我强烈建议您接受其他一些问题的答案。为什么您要使用正则表达式而不是进行更简单(更快!)的数值比较?正则表达式并不是专门用于此目的的。我强烈建议您接受其他一些问题的答案。为什么您要使用正则表达式而不是进行更简单的数值比较(而且更快!)数值比较?regexp并不是真正用于此的..Boo用于隐式转换。而是使用
parseInt(number,10)
isNaN
@Eevee为什么?“parseInt()”实际上有点痛苦,因为它会从字符串“12hello there”返回一个有效的数字。隐式转换不会。隐式转换更有效,是测试数值的更直接的方法,没有令人信服的理由不使用此模式。它不被视为“最佳实践”的一部分,IMO,类似于数组文字如何更有效,即使有一种更正式的方法来实例化数组。@尖刻:依赖弱类型行为通常是古怪和微妙的,所以我尝试避免它。但这是一个好的观点。可以使用
Number()
,它的工作原理应该与隐式转换相同,尽管它似乎不是一种流行的方法。Javascript是一种弱类型语言。避免这一事实是没有意义的,因为它看起来“古怪”;这就是它的工作方式,也就是它将保持的工作方式,因此在可能的情况下利用它对您有利是没有危险的。:)Boo用于隐式转换。而是使用
parseInt(number,10)
isNaN
@Eevee为什么?“parseInt()”实际上有点麻烦,因为它会从字符串“12hello there”返回一个有效的数字。隐式转换不会。隐式转换更有效,是测试数值的更直接的方法,没有令人信服的理由不使用此模式。它不被视为“最佳实践”的一部分,IMO,类似于数组文字如何更有效,即使有一种更正式的方法来实例化数组。@尖刻:依赖弱类型行为通常是古怪和微妙的,所以我尝试避免它。但这是一个好的观点。可以使用
Number()
,它的工作原理应该与隐式转换相同,尽管它似乎不是一种流行的方法。Javascript是一种弱类型语言。避免这一事实是没有意义的,因为它看起来“古怪”;这就是它的工作方式,也就是它将保持的工作方式,因此在可能的情况下利用它对您有利是没有危险的。:)Ugh.+1用于拼凑…我甚至不打算尝试。Ugh.+1用于拼凑…我甚至不打算尝试。你的正则表达式比我的更丑:)你的正则表达式比我的更丑:)