1.需求:密码,必须由6-10位数字和字母组合组成:
引用某位大神的解答:
”
$pattern = '/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,10}$/';
分开来注释一下:
^ 匹配一行的开头位置
(?![0-9]+$) 预测该位置后面不全是数字
(?![a-zA-Z]+$) 预测该位置后面不全是字母
[0-9A-Za-z] {6,10} 由6-10位数字或这字母组成
$ 匹配行结尾位置
“
2.几个常用需求:
引用某网站内容:
<?php
//preg_match("正则表达式","字符串")用于在字符串中查找匹配项
$email = "987044391@qq.com";
if (preg_match("/^([a-zA-Z0-9])+([.a-zA-Z0-9_-])*@([.a-zA-Z0-9_-])+([.a-zA-Z0-9_-]+)+([.a-zA-Z0-9_-])$/",$email)){
echo '匹配成功<hr />';
}else {
echo '匹配失败<hr />';
}
//preg_quote("字符串") 在每个有正则表达式语法前面加入一个转义字符即\
$str = "php点点通是一个学习php的网站,(⊙o⊙)…";
echo preg_quote($str);
echo "<hr />";
//preg_split("正则","字符串")分割字符串
$php = "+php++点点通++++是好网站";
$field = preg_split("/\+{1,}/",$php);
foreach($field as $f){
echo $f." ";
}
echo "<hr />";
//preg_grep("正则","字符串") 与数组匹配后返回新数组
$phpddt = array("php点点通","php100","呵呵","hahaha","phpchina");
$item = preg_grep("/^php/",$phpddt);
print_r($item);
echo "<hr />";
//preg_replace("正则","替换内容","原字符串") 很重要,很常用
$a = "欢迎光临http://www.phpddt.com/"; //给http开头的加上超链接
echo preg_replace("/http:\/\/(.*)\//","<a href=\"\${0}\">\${0}</a>","$a");
?>
运行结果如下:
3.