PHP特殊字符测试

pws*_*068 9 php regex special-characters

检查用户名是否包含我定义的一些特殊字符的有效方法是什么.

示例:%#^.!@&()+ /"?`〜<> {} [] | = - ;

我需要检测它们并返回一个布尔值,而不仅仅是将它们剥离出来.

可能是一个非常简单的问题,但我需要一个更好的方法,而不是一个大的条件列表或一个草率循环.

zer*_*kms 9

更好的方法是确定是否有任何不在允许列表中的字符,例如:

preg_match('![^a-z0-9]!i', $nickname);
Run Code Online (Sandbox Code Playgroud)

  • +1:白名单是比黑名单更好的安全工具. (3认同)