仅使用RegEx匹配字母和特殊字符

时间:2011-05-04 16:47:13

标签: php regex .htaccess

如何只允许带正则表达式的字母和特殊字符?

5 个答案:

答案 0 :(得分:2)

我建议您使用GSkinner的REGEX构建器,并在右侧试验很多示例。完成这项工作有很多变化。如果你想明确,你可以使用:

/[a-zA-Z!@#$%¨&*()-=+/*.{}]/

Tony的回答也会有效,但包含的内容比你在评论中定义的更多。

答案 1 :(得分:1)

这个

        $str = $_REQUEST["htmlstringinput"];
        preg_match("([\w\-]+[@#%.])", $str);

允许使用此特殊字符范围[@#%.]中的字母,数字和特殊字符

和这个

       $str = $_REQUEST["htmlstringinput"];
       preg_match("([-a-zA-Z]+[@#%.])", $str);

仅适用于与上述相同特殊字符范围内的字母和特殊字符 为我工作。如需进一步阅读和研究,您可以访问:http://gskinner.com/RegExr/

答案 2 :(得分:0)

/[\p{L}\p{P}]+/u

匹配字母和标点字符。或者你对“特殊人物”的意思是什么?

答案 3 :(得分:0)

所有字符都不是数字?怎么回事:

/[^\d]*/

答案 4 :(得分:0)

使用.htaccess中的以下代码来阻止所有带号码的网址(根据OP的评论)

Options +FollowSymlinks -MultiViews
RewriteEngine on

RewriteCond %{REQUEST_URI} ![0-9] 
RewriteRule ^user/ /index.php?goto=missed [NC,L]