摘要:
下文讲述PHP字符串的验证技巧,如下所示;
字符串验证是我们日常开发中常用的技巧:
如:密码输入时,验证密码同时由字母和数字组成,并且其长度在8~16位之间,
且不能全部为数字
那么php中如何验证这样一个组合呢?
我们细分这个要求:
1.不能都为数字
2.可以全为字母
3.里面的字符必须为数字或字母
实现思路:
使用以下正则表达式:
$pattern = '/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9a-zA-Z]{8, 16}$/';
preg_match($pattern, $pwd);
正则表达式解析说明:
^ 匹配一行的开头位置
(?![0-9]+$) 预测该位置后面不全是数字
(?![a-zA-Z]+$) 预测该位置后面不全是字母
[0-9A-Za-z] {8,16} 由8-16位数字或这字母组成
$ 匹配行结尾位置
例:
echo "maomao365.com 验证密码\n";
/*
* 验证字符是否为字母和数字组成
* 并且长度为8~16位
* */
$pwd ="test11";
$pattern = '/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9a-zA-Z]{8, 16}$/';
if (preg_match($pattern,$pwd))
{
echo '$pwd:符合要求';
}else
{
echo '$pwd:不符合要求';
}
?>