我正在使用Javascript来测试用户是否输入了“dev”或“development”这个词。
我使用/^[dev|development]$/.test( user_input );
返回了错误的错误。
目前我正在使用/^dev$|^development$/.test( 'developmentt' );
,它会返回正确的结果。
但为什么我使用方括号注释会得到错误的结果?
答案 0 :(得分:2)
方括号不适合对单词进行OR运算。您需要将它们放在由()
|
内
/^(dev|development)$/.test( user_input );
OR
/^dev(?:elopment)?$/.test( user_input );
OR函数适用于字符类中存在的每个字符。因此[dev|development]
匹配d
或e
或v
或|
或d
或e
,..... < / p>