PHP - 正则

手机号码

if (preg_match("/^1[34578]{1}\d{9}$/", $str)) {
    echo "手机号码";
}

email

if(preg_match("/^([0-9A-Za-z\\-_\\.]+)@([0-9a-z]+\\.[a-z]{2,3}(\\.[a-z]{2})?)$/i", $str)) {
    echo "email";
}

字母

if(preg_match("/^[a-zA-Z]+$/", $str)) {
    echo "字母";
}

数字

if(preg_match("/^[0-9]+$/", $str)) {
    echo "数字";
}

中文

if(preg_match("/^[\x7f-\xff]+$/", $str)) {
    echo "中文";
}

标点符号

方法略笨,求大佬给予更简洁的方法

if(preg_match("/^[\~\`\!\@\#\$\%\^\&\*\(\)\_\+\-\=\[\]\{\}\\\|\;\:\'\"\<\>\,\.\?\/]+$/", $str)) {
    echo "标点符号";
}

空格

不会,求大佬帮助

if(preg_match("", $str)) {
    echo "空格";
}

未完待续... ...

返回文章列表 文章二维码 打赏
本页链接的二维码
打赏二维码
期待你的评论

4 条评论
  1. moozik 大师   moozik  

    匹配字符:[^a-zA-Z\d]+
    汉字:[\u4e00-\u9fa5]不知道跟你的有什么不一样
    匹配空格就敲一个空格就行了把

    1. 小尾巴 王者   小尾巴   博主
      @ moozik

      [ ]里面是有空格的
      评论里面没显示

    2. 小尾巴 王者   小尾巴   博主
      @ moozik

      preg_match("/^[ ]+$/", $str)
      这样写的,没匹配到空格

      1. moozik 大师   moozik  
        @ 小尾巴

        你带着^和$那就必须全是空格才能匹配到吧