如何将此正则表达式展开为至少需要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,}*$/
答案 0 :(得分:0)
如果找不到9位数字,导致失败的快速方法是使用前瞻。它不需要通过测试然后寻找另一个条件。一气呵成:
^(?=(?:\D*\d){9})[+](\(?\+?[0-9]*\)?)?[0-9_\- \(\)]*$
Regex补充道:
(?=(?:\D*\d){9})