2014-11-03 93 views
1

我花了很长时间才试着让它正常工作。我只想验证以下内容: 字母数字,连字符,句号,感叹号,开/关括号(正常不卷曲),正斜杠和问号。正则表达式匹配无法正常工作

我认为这是下面的正则表达式

/([a-zA-Z0-9\!\(\)\-\/\.\?\s])+/ 

这有点儿工作,如果我把#〜盒子,它表明这是无效的。但是,如果我把#〜保罗,那么它表明,比赛是有效的真实。一旦它找到一个有效的字符,它似乎就是真实的。示例#〜Paul应该是假的,因为它包含无效字符。只有当所有字符都是有效字符时才是真实的。

工作匹配的例子应该是。
保罗!
Paul(Stack-Overflow。)!

我敢肯定,有些高手可以帮助我。请帮忙。

回答

3
^([a-zA-Z0-9\!\(\)\-\/\.\?\s])+$ 

你需要的是确保严格验证的锚点。

+0

谢谢!即将发布我找到答案,但我的答案将是以下。我和你的区别是什么? /^[a-zA-Z0-9\!\(\)\-\\\\\?\s]*$/ – Cann0nF0dder 2014-11-03 15:43:10

+1

您可以减少班级中的转义字符; ''[-A-Za-z0-9!。()\ /?\ s]' – 2014-11-03 15:44:08

+1

@ Cann0nF0dder'*'表示0或更多,'+'表示1或更多。 – vks 2014-11-03 15:44:42