Javascript 为什么我的正则表达式返回false?

Javascript 为什么我的正则表达式返回false?,javascript,regex,Javascript,Regex,我已经创建了一个正则表达式来验证康涅狄格州的可用区号,我已经测试了各种电话号码字符串与正则表达式,所有这些都返回true,但是当我在if-else语句中实现它时,它将返回false。即使它是正确的 这是我的密码 var string = '203-432-5917'; function phoneValidator() { let regEx = /^(203|408|860|959)[\-]\d{3}[\-]\d{4}$/gm if(string=== regEx)

我已经创建了一个正则表达式来验证康涅狄格州的可用区号,我已经测试了各种电话号码字符串与正则表达式,所有这些都返回true,但是当我在if-else语句中实现它时,它将返回false。即使它是正确的 这是我的密码

var string = '203-432-5917';
function phoneValidator() {
    
    let regEx = /^(203|408|860|959)[\-]\d{3}[\-]\d{4}$/gm
    if(string=== regEx) {
        console.log(true)
    } else {
        console.log(false)
    }
}
这是我的测试示例,返回true

var string = '203-432-5917';
var regEx = /^(203|408|860|959)[\-]\d{3}[\-]\d{4}$/gm
regEx.test(string);
可以在if条件中使用regEx.test(字符串)

var字符串='203-943-6347';
函数phoneValidator(){
设正则表达式=/^(203 | 408 | 860 | 959)[\-]\d{3}[\-]\d{4}$/gm
if(正则表达式测试(字符串)){
console.log(true)
}否则{
console.log(false)
}
}

电话验证器()什么是
g.value
?另外,您没有在
if
条件下对正则表达式使用
.test
!这就是为什么它返回
false
即使是true!感觉像是我唯一的问题!您必须使用
if(regEx.test(g.value))
并声明不带任何
gm
标志的正则表达式。这是我的错,我以为我昨天编辑了字符串,g.value来自我试图使用的html端。