var re = /\(?[0-9]{3}\)?/ var str1 = '789'; console.log(re.test(str1));//返回true var str2 = '(789)'; console.log(re.test(str2)); // 返回true var str3 = '(788'; console.log(re.test(str3)) //返回true; var str4 = '789)'; console.log(re.test(str4)) //返回true;
我想第3个和第4个结果返回false ,就是要'()'同时存在或不存在才能返回true,只有一个'('或')'返回flase
var re 应该怎样写?
var re = /\(\d{3}\)|^(?!\()\d{3}(?!\))/
先匹配'(789)'情况,在匹配'789'
var re = /[0-9]{3}|(([0-9]{3}))/