PHP正则匹配6到16位字符组合(且只能为数字、字母、下划线)

发布时间:2019-07-20编辑:脚本学堂
本文介绍下,使用php正则匹配6位16位的字符组合的方法,此正则要求只能为数字、字母与下划线。有需要的朋友参考下。

要求:
php正则匹配6到16位的字符串。
只允许包含数字、字母、下划线组成的6到16位字符,符合返回ture,否则返回false。

解答:
6到16位,正则可以这样写:{6,16}。
任意的字符6到16位的正则表达式是这样:.{6,16}
仅允许数字、字母、下划线的组合,正则为:[0-9_a-zA-Z]
 
整合一下,完整的正则就是:

^[_0-9a-z]{6,16}$

以下是应用此正则验证密码的例子。

<?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  符合
?>