<?php
echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>';
/**
* 常用PHP正则表达式
*/
/**
* int preg_match_all/
* int preg_match(string $pattern, string subject, array &$matches, int $flags = 0,
int $offset = 0)
* @pattern 正则表达式
* @subject 输入的字符串
* @matches 保存搜索结构
* @flags 如果为1,表示对每个出现的匹配返回时会附加字符串偏移量
* @offset 指定开始搜索的位置,默认为0
* @return 返回匹配的次数
*/
//查看测试
function print_check_preg($reg, $str)
{
$res = array();
if($t = preg_match_all($reg, $str, $res)){
echo '匹配了', $t, '次<br>';
echo '匹配结果:<br>';
print_r($res);
echo '<br>';
}else{
echo '无匹配<br>';
}
echo '<br>';
return $res;
}
//验证整数
//以1-9开头,之后为任意的数字
$reg1 = '/^[1-9]\d+$/';
//print_check_preg($reg1, "123");
//print_check_preg($reg1, "012");
//print_check_preg($reg1, "1i0");
//验证整数或者小数
//以0开头后接点,或者其他开头后接点或者数字,点只能出现一次
$reg2 = '/(^0\.\d+$)|([1-9]+\.\d+$)/';
//print_check_preg($reg2, '00.12');
//print_check_preg($reg2, '12.');
//print_check_preg($reg2, '0.001');
//print_check_preg($reg2, '0.83');
//print_check_preg($reg2, '1..0');
//验证用户名合法性-和变量命名原则相同
//不能以数字开头,可以使用字母,数字,下划线
$reg3 = '/^[\_a-zA-Z][a-zA-Z0-9]+$/';
//print_check_preg($reg3, '_lk');
//print_check_preg($reg3, '0lk');
//print_check_preg($reg3, 'lk00');
//验证密码复杂度
//当密码中全是字母或者全是数字或位数小于8的时候视为简单的密码
//to do
$reg4 = '/^$/';
//print_check_preg($reg4, '123456');
//print_check_preg($reg4, '123abcaa');
//print_check_preg($reg4, '123abcA');
//print_check_preg($reg4, '1234abcA.');
//验证邮箱
//形如xx@XX.XX,@后面无下划线
$reg5 = '/^[0-9a-zA-Z_]+\@[0-9a-zA-Z]+\.[0-9a-zA-Z]+$/';
//print_check_preg($reg5, 'lk@.com');
//print_check_preg($reg5, 'lk.com');
//print_check_preg($reg5, 'lk_@163');
//print_check_preg($reg5, 'lk@163.com');
//验证手机号码
//11位,开头为13X,14X,15X,18X,17X
$reg6 = '/^1[34578][0-9]{9}/';
//print_check_preg($reg6, '1571100000');
//print_check_preg($reg6, '12312341234');
//print_check_preg($reg6, '17712341234');
//验证电话号码
//形如6821731,87953052,0563-6095509,05636095509,0572-87953069,057287953069,010-67876712,0106712346
$reg7 = '/(^\d{3,4}-\d{7,8}$)|(^\d{3,4}\d{7,8}$)|(^\d{7,8}$)/';
//print_check_preg($reg7, '6821731');
//print_check_preg($reg7, '87953052');
//print_check_preg($reg7, '0563-6095509');
//print_check_preg($reg7, '057287953069');
//print_check_preg($reg7, '0106712346');
//print_check_preg($reg7, '010-671234609');
//验证邮编
//简单点就是6位纯数字
$reg8 = '/^[\d]{6}$/';
//print_check_preg($reg8, '242200');
//print_check_preg($reg8, '2411000');
//验证url
//形如www.newboo.org或者http://www.newboo.org/index/index.html?force=1
//不能有空格
$reg9 = '/^(http[s]?\:\/\/)?[a-zA-Z\d]+\.[a-zA-Z\d]+\.[^\s]+$/';
//print_check_preg($reg9, 'www.baidu.com');
//print_check_preg($reg9, 'http://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1');
//print_check_preg($reg9, 'https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1');
//验证汉字
$reg10 = '/^[\x{4e00}-\x{9fa5}]+$/u';
//print_check_preg($reg10, '哈哈1');
//print_check_preg($reg10, '哈哈aa');
//print_check_preg($reg10, '呵呵');
//验证IP地址
//0.0.0.0~255.255.255.255
//to do 数值范围没限制
$reg11 = '/^(\d{1,3}\.){3}\d{1,3}$/';
//print_check_preg($reg11, '0.0.0.0');
//print_check_preg($reg11, '192.168.255.101');
//匹配img标签
$reg12 = '/<img\s[^\>]*\>/';
//print_check_preg($reg12, file_get_contents('http://www.hao123.com'));
//匹配出img标签中src
$reg13 = '/<img\s+[^\>]*(src|SRC)\=(\"|\')([^\"\']+)(\"|\')/';
//print_check_preg($reg13, file_get_contents('https://www.baidu.com'));
?>
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。