正则的写法不是唯一的 自己找个规则 能匹配就行
/**
* 1.
* 判断一点字符串是手机电话 还是数字串
*/
$agentid = '222222';
$search = '/^0?1[3|4|5|6|7|8][0-9]\d{8}$/';
if ( preg_match( $search, $agentid ) )
{
echo ‘为电话’;
}else {
echo ‘为数字串’;
}
/**
* 2.
* js 匹配手机号
*/
if(!(/^0?1[3|4|5|6|7|8][0-9]\d{8}$/.test(account))){
alert(‘输入正确手机号’);
}else{
alert("手机号正确");
}
/**
* 3.
* 验证身份证(不包含省份验证)
*/
$str = '/^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/';
if (!preg_match($str,"123455")){
echo "请输入正确的身份证号码";
}
#邮箱 : /^[a-z0-9]([a-z0-9_\-.]+)?@([a-z0-9\-]+).([a-z.]+)$/i
#qq : /^[1-9][0-9]{4,11}$/
# ((0[1-9])|(1[0-2])) 判断 1-12月
# (([0-2][1-9])|10|20|30|31) 判断 1-31号
#{n} n 是一个非负整数。匹配确定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的两个 o。
#\d{8} 相当于匹配 [0-9] 八次
/**
* 4.
*过滤标签
*/
$content = preg_replace("/<(\/?link.*?)>/si",'',$str);//link
$content = preg_replace("/<a[^>]*>(.*?)<\/a>/is", ‘’,$str);//a
#<a[^>] <a ..... 任意内容....>
/**
* 5.
* 根据<img>标签匹配图片路径
*/
preg_match_all('/<img[^>]+src=\"([^"]+)\"[^>]{0,}>/is', $str,$Mainmatch);
//$Mainmatch存放匹配结果 $str匹配内容
/**
* 6.
* js 去除前后所有空格
*/
str.replace(/(^\s*)|(\s*$)/g, "")
^\s* 开始的所有的空白字符
\s*$ 结束前的所有空字符
#备注
// ^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 '\n' 或 '\r' 之后的位置。
// $ 匹配输入字符串的结束位置。如果设置了RegExp 对象的 Multiline 属性,$ 也匹配 '\n' 或 '\r' 之前的位置。
// \s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。
// ’ * ‘匹配前面的子表达式零次或多次
/**
* 7.
* 将<br\>转换成 \r\n
*/
preg_replace("/<(\/?br.*?\/)>/si","\r\n",$str)
/**
* 8.
* 匹配一个区间 :比如数字头到数字尾
*/
$agentid = 'ZYPGV1.1.0.23sdsvc.exe';
preg_match_all("/(\d+)(.*)(?)(\d+)/", $agentid, $Mainmatch);
var_export($Mainmatch[0]);
array ( 0 => '1.1.0.23', );
/**
* 9.
* 密码 8-15位 需大小写数字
*/
/(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[A-Za-z0-9]{8,14}$/
/**
* 10.
* js 字符串切割 以中文逗号切割 引号内的内容不做处理
*/
<script type="text/javascript">
var str = '111,222,333,444,5555,90,"666,777,88888。",A-';
var result =[]
result= str.split(/,|(".+?")/).filter(function(ele){
return ele!==''&&ele!==undefined;
});
console.log(result);
</script>
如图:
/**
* 11.
* 根据指定字符获取中间内容
*/
$str ='/uuep-ueoss/sapusp/ssasui/sjaius';
preg_match_all("/[^\/]([a-z0-9\-]+)[^\/]{1}/", $str, $Mainmatch);
# 获取/*****/ 中间值
# a-z0-9\- (中间值 只定义了 a-z 0-9 和- )
# 如果有其他特殊字符需求可以拼接在里面
var_dump($Mainmatch);
水水的写几个 等想的起来了 (不会的可以私我)