【发布时间】:2017-10-17 08:40:29
【问题描述】:
我一直在尝试不同的正则表达式,但似乎找不到正确的。
我需要一个允许用户在文本中输入字母、数字、空格和 - 和 ' 的正则表达式。
所以字符串如下: "'s Ochtends vroeg" “明天晚上” "ISBN1234ABC"
应该是真的。
我已经使用以下代码尝试了以下正则表达式:
/([A-Za-z0-9'-\s])/g
[^#$@_&!*()]
and more of these variations
var regex = new RegExp("([a-zA-Z0-9\s'-])+");
console.log(regex.test(word));
现在,当我输入单词:“ABN##@@123-TEST”时,全部返回 true。 应该是假的,因为里面有##@@这个字符。
感谢您的帮助。
【问题讨论】:
-
使用
var regex = /^[a-zA-Z0-9\s'-]+$/;- 添加锚点并使用正则表达式。 -
是的,我已经测试了@WiktorStribiżew 解决方案并且工作正常:)
-
Wiktor,你是我的英雄 ;) 有时很难看出正则表达式有什么问题。请将您的答案作为答案发布,以便我接受。
-
我正在写所有的解释。
-
Wiktor 确实是每个人的英雄 :)
标签: javascript jquery regex