2012-10-09 45 views

回答

2

如果整个目的是为了让一切除了&;'符号,你可以忽略这些:

[^&;']* 

这应该允许所有的字母数字符号和每一个其他的特殊字符。

如果你的可接受/拒绝字符列表比较复杂,它可能是更容易编写一个正则表达式,指定什么允许,像你原来的^[a-zA-Z0-9 @$]*$样品。这一切都取决于你的需求和/或它们是否会改变(如果它不会有太大的改变,我个人会更喜欢你的原始正则表达式)。

+0

感谢您的快速回复,是的,我只想拒绝几个说五个特殊字符,但是我怎么会忽略?我需要显示错误信息,表明您的条目包含无效的字符。 – skystar

+0

要定义一个模式来忽略某个字符集,你会使用'[^'*字符来忽略*']'在我的回答中,模式'[^&;'] *'设置为返回每个不匹配指定字符的字符。你只有五个你想忽略的东西,把所有五个放在那个列表中,你应该很好。 – newfurniturey

+0

我可能是错的,但是'''不需要转义,即使在'[]'集合中? – Nick

1

格式[^ ][ ]相反。所以,做你想要的东西,试试这个:

^[a-zA-Z0-9 @$]*|[^&;\`]* 
+0

感谢尼克,我在这里用字符串“test&”测试你的表达,它假设拒绝我的入口,但不是:http://www.regular-expressions.info/ javascriptexample.html – skystar

+0

它拒绝了'&',但保留'测试'时,我检查了你的链接。 – Nick

+0

感谢尼克,你们都给我答案,但我只能选择一个职位作为答案。 – skystar

0

/^ [A-ZA-Z0-9 @ $] | [^ &;`,“'%!()] $/

相关问题