0

我想让用户输入有效,因此我使用正则表达式。我希望用户只插入字母数字内容和一些特定字符 - ,!$^& 等。到目前为止我得到的代码是:

$validText = preg_replace('@[^A-Za-z0-9\w\ ]@', '',$text);

但它只关心字母数字和空格,但我如何定义正则表达式以将字符称为 .'!@# 等?我在哪里定义它?顺便问一下,你能给我推荐一个好的正则表达式吗?

任何建议

4

1 回答 1

4

只需将它们添加到您的组。

$validText = preg_replace('/[^A-Za-z0-9\w .\'!@#]/', '',$text);

注意: preg_match()可能更适合这种情况。目前您允许无效字符然后删除它们。导致用户体验不佳。

于 2012-08-15T21:20:21.727 回答