要求:
php正则匹配6到16位的字符串。
只允许包含数字、字母、下划线组成的6到16位字符,符合返回ture,否则返回false。
解答:
6到16位,正则可以这样写:{6,16}。
任意的字符6到16位的正则表达式是这样:.{6,16}
仅允许数字、字母、下划线的组合,正则为:[0-9_a-zA-Z]
整合一下,完整的正则就是:
以下是应用此正则验证密码的例子。
<?php /** * php正则验证密码规则 * 只允许 数字、字母、下划线 * 最短6位、最长16位 * 搜集整理:www.jb200.com */ function ispassword($str) { if (preg_match('/^[_0-9a-z]{6,16}$/i',$str)){ return true; }else { return false; } } $password = 'abcde@'; if(ispassword($password)) { echo '符合'; }else { echo '不符合'; } //output 不符合 echo '<br>'; $password = 'abcdeasdas_1324'; if(ispassword($password)) { echo '符合'; }else { echo '不符合'; } //output 符合 ?>