我刚刚开始学习正则表达式,有没有一种方法可以检查一对括号是否同时出现,如果缺少该括号,该表达式将是错误的,例如“ 1 555)555-5555”将返回false。
这是我的表情
/1{0,1}\s{0,1}\({0,1}\d{3}\){0,1}[\s\-]{0,1}\d{3}[\s\-]{0,1}\d{4}/
在这种情况下,它不会发现括号的一侧是否丢失
555-555-5555 true
555-555-5555 true
(555)555-5555 true
(555) 555-5555 true
1(555) 555-5555 true
1 (555) 555-5555 true
555 555 5555 true
5555555555 true
1 555 555 5555 true
1 555)555-5555 true - should be false
1 (555555-5555 true - should be false
我的全部功能
function telephoneCheck(str) {
return /1{0,1}\s{0,1}\({0,1}\d{3}\){0,1}[\s\-]{0,1}\d{3}[\s\-]{0,1}\d{4}/.test(str);
}