Javascript 如何编写只允许数字和“";",&引用-&引用;
下面是我的正则表达式,但它似乎不起作用Javascript 如何编写只允许数字和“";",&引用-&引用;,javascript,regex,Javascript,Regex,下面是我的正则表达式,但它似乎不起作用 /[0-9\-\(\)]/.test(str) 当我测试的时候 /[0-9\-\(\)]/.test('(12321)213213d') 它将返回true您需要用*或+重复它。您还需要使用^和$锚定它以包含整个字符串 console.log(/^[0-9\-\(\)]+$/.test(‘(12321)21323d’); console.log(/^[0-9\-\(\)]+$/.test(‘(12321)213213’)您实际测试的是测试字符串中是否
/[0-9\-\(\)]/.test(str)
当我测试的时候
/[0-9\-\(\)]/.test('(12321)213213d')
它将返回true您需要用
*
或+
重复它。您还需要使用^
和$
锚定它以包含整个字符串
console.log(/^[0-9\-\(\)]+$/.test(‘(12321)21323d’);
console.log(/^[0-9\-\(\)]+$/.test(‘(12321)213213’)代码>您实际测试的是测试字符串中是否有这些字符。您想检查它是否只包含这些字符。要做到这一点,您需要说从开始到结束,它只包含那些字符
e、 g
当前正则表达式只检查字符串中的任何一个字符是否与字符类匹配。添加锚和量词:/^[0-9\-\(\)]+$/
^
-“输入开始”锚定
$
-“输入结束”锚定
+
-需要前面的一项或多项内容
请注意,“()”
将匹配该正则表达式。:-) 我相信添加输入开头/结尾字符可以解决这个问题。像
^[0-9\-(\)]$/.exec('(12321)213213d')
^开始,$end,\d表示数字和()-
我想你正在寻找电话号码匹配器,如果你的答案是肯定的,那么这是不适合它的正则表达式
有关电话号码匹配器,请访问此您是否正在尝试匹配电话号码?(鉴于该字符集,似乎是这样)您可能想看看
^[0-9\-(\)]$/.exec('(12321)213213d')
/^[\d\(\)\-]+$/.test('(12321)213213d')