展开正则表达式至少需要9位数

时间:2018-05-16 08:04:49

标签: regex

如何将此正则表达式展开为至少需要9位[0-9]

var re = /^[+](\(?\+?[0-9]*\)?)?[0-9_\- \(\)]*$/ ///^(\(?\+?[0-9]*\)?)?[0-9_\- \(\)]*$/  
return re.test(phone);

如果我将表达式更改为以下内容,则会报告其无效的正则表达式:

/^[+](\(?\+?[0-9]*\)?)?[0-9_\- \(\)]*$/ ///^(\(?\+?[0-9]*\)?)?[0-9_\- \(\)]{9,}*$/

1 个答案:

答案 0 :(得分:0)

如果找不到9位数字,导致失败的快速方法是使用前瞻。它不需要通过测试然后寻找另一个条件。一气呵成:

^(?=(?:\D*\d){9})[+](\(?\+?[0-9]*\)?)?[0-9_\- \(\)]*$

Regex补充道:

(?=(?:\D*\d){9})