邓_正则表达式
正则表达式常用用法汇总
判断是否存在http或者https,
$url = "htstp://www.baidu.com/"; $preg = "/^http(s)?:\\/\\/.+/"; if(preg_match($preg,$url)) { echo '存在http'; }else { echo '不存在'; }
=============================================================================
数字:/^[0-9.-]+$/
整数:/^[0-9-]+$/
字母:/^[a-z]+$/i
数字+字母:/^[0-9a-z]+$/i
E-maill:/^[\w\-\.]+@[\w\-\.]+(\.\w+)+$/
QQ:/^[0-9]{5,20}$/
手机号码:^(1)[0-9]{10}$/
电话号码:/^[0-9-]{6,13}$/
邮政编码:/^[0-9]{6}$/
=============================================================================
JS验证邮箱格式
var email = $('#email').val();
var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;
$flog = reg.test(email);
if($flog){
}
完全匹配:
$params['types'] = 'TRAINER';
$pattern="/^(CARD|GROUP|TRAINER)$/";
var_dump(preg_match($pattern,$params['types']));
exit;
=============================================================================
$pattern = '/^[14]$/';
$type_id = 14;
var_dump(preg_match($pattern, $type_id));
exit;
【字符类元字符】
①:[abcd] 只能匹配一个字符——字符类 只能匹配单个字符
$pattern="/^ [abcd] $/";
$str = "b";
var_dump(preg_match($pattern,$str));
---------------------------------------------------------------
②:选择字符( | ) 可以匹配任意长度的字符串
$pattern="/^ (t|T)(m|M) $/";
$str = "tm";
var_dump(preg_match($pattern,$str));
---------------------------------------------------------------
③:连接符 ( - ) 只能匹配一个字符串(连接符表示范围内的)
$pattern="/^[a-z]$/";
$str = "t";
var_dump(preg_match($pattern,$str));
int 1
---------------------------------------------------------------
④:排除字符 ( [^] )
$pattern="/^[^a-z]$/";
$str = "H";
var_dump(preg_match($pattern,$str));
---------------------------------------------------------------
⑤:任意字符 ( [.] ) 可以匹配出换行符外的任意一个字符
$pattern="/^s.t$/";
$str = "s#t";
var_dump(preg_match($pattern,$str));
---------------------------------------------------------------
⑥:转义字符 ( \ ) 使之原样输出,不解释
$pattern="/^[0-9]{1,3}(\.[0-9]){3}$/";
$str = "127.0.0.1";
var_dump(preg_match($pattern,$str));
---------------------------------------------------------------
正则表达式中有很多符号,代表着不同的意思,用来让我们去定义不同的规则,比如上面\D,还有下面的这些:
\d 数字 任意十进制数 一位
\D 非数字 任意非十进制数
\s 空格 任意空白字符
\S 非空格 任意非空白字符
\w 字符 ( 字母 ,数字,下划线_ ) 任意单词字符
\W 非字符例子:是否有不是数字的字符 任意非单词字符
---------------------------------------------------------------
================================================================
【数量元字符】
①: ? :匹配前面0次或1次
②: + :匹配前面一次或多次
③: * :匹配前面0次或多次
④: {n} :匹配前面n次
⑤: {n,} :匹配前面至少n次
⑥: {m,n} :匹配前面最少m次,最多n次
preg_match()函数:
$pattern="/^ 正则表达式 $/";
$str="字符串";
preg_match( $pattern ,$str);
preg_match_all()函数:
(执行一个全局正则表达式匹配)
preg
============================================================
// 验证日期是否符和格式(正则表达式)
$pattern = '/^2[0-9]{3}-[0-9]{2}-[0-9]{2}$/';
$pattern = '/^2[0-9]{3}-[0-9]{2}-[0-9]{2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}$/';
if (preg_match($pattern,$startTime) != 1) {
throw new ParameterException('开始时间格式错误');
}