Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.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 手机号码需要正则表达式,以61到99开头,数字为10位_Javascript_Regex_Angular - Fatal编程技术网

Javascript 手机号码需要正则表达式,以61到99开头,数字为10位

Javascript 手机号码需要正则表达式,以61到99开头,数字为10位,javascript,regex,angular,Javascript,Regex,Angular,要求手机号码以61到99开头 比如61xxxxxxxx,62xxxxxxxxx,99XXXXXXXXX 需要正则表达式来匹配这种情况。 如果mobile no以0或11、12或任何小于61的值开始,则该值应无效 手机号码最多为10位,不需要国家代码。您可以为号码生成前缀,并为剩余的8位数字添加图案 像这样的 const regexp = new RegExp('('+[...Array(39).keys()].map(key => key + 61).join('|') + ')\\d{8

要求手机号码以61到99开头 比如61xxxxxxxx,62xxxxxxxxx,99XXXXXXXXX

需要正则表达式来匹配这种情况。 如果mobile no以0或11、12或任何小于61的值开始,则该值应无效


手机号码最多为10位,不需要国家代码。

您可以为号码生成前缀,并为剩余的8位数字添加图案

像这样的

const regexp = new RegExp('('+[...Array(39).keys()].map(key => key + 61).join('|') + ')\\d{8,8}')

您最好使用任何编程工具来评估前两位数字是否在范围内,这要简单得多,而且可能性能也很好。但是,如果您严格地想要使用正则表达式,这就可以了-
(?:6[1-9]|[7-9][0-9])\d{8}$

这是我的建议

基本上,它检查第一个数字,如果是6,下一个数字应该在[1-9]范围内,如果是7、8或9(即范围[7-9]),下一个数字可以在[0-9]范围内。那么后面应该有8位数字

当然,这是一个简单易懂的解决方案。基本上检查每个第一个数字,然后匹配下一个数字。然而,如果您的正则表达式风格支持负查找,您可能会将其缩短一点(为了简洁而牺牲可读性),但我更喜欢这样