密通学院

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 6270|回复: 0

[教程] discuz关于正则及一些用户注册项目的正则验证(持续更新)

[复制链接]
  • TA的每日心情
    萌哒
    2018-7-9 11:48
  • 35

    主题

    42

    帖子

    2万

    铜板

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    24816

    最佳新人活跃会员热心会员

    发表于 2017-9-3 12:23:34 | 显示全部楼层 |阅读模式

    马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    正则表达式到底是什么东西?
    在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。
    常用元字符
    代码说明
    .匹配除换行符以外的任意字符
    \w匹配字母或数字或下划线或汉字
    \s匹配任意的空白符
    \d匹配数字
    \b匹配单词的开始或结束
    ^匹配字符串的开始
    $匹配字符串的结束

    常用限定符
    代码/语法说明
    *重复零次或更多次
    +重复一次或更多次
    ?重复零次或一次
    {n}重复n次
    {n,}重复n次或更多次
    {n,m}重复n到m次

    常用反义词
    代码/语法说明
    \W匹配任意不是字母,数字,下划线,汉字的字符
    \S匹配任意不是空白符的字符
    \D匹配任意非数字的字符
    \B匹配不是单词开头或结束的位置
    [^x]匹配除了x以外的任意字符
    [^aeiou]匹配除了aeiou这几个字母以外的任意字符



    php、discuz论坛正则判断正则表达式对照表:

    名称
    正则表达式
    描述
    验证是否中文名字^[\u4e00-\u9fa5]{2,4}$中文2-4个汉字
    年龄输入判断^[0-9]\d{0,2}$将最后的2改为1将只能 ...
    匹配腾讯QQ号^[0-9]\d{4,10}$最低5位数最高11位数 ...
    匹配网址URL[a-zA-z]+://[^\s]*
    匹配Email地址\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
    匹配国内电话号码\d{3}-\d{8}|\d{4}-\d{7}匹配形式如 0511-4405 ...
    匹配中国邮政编码[0-9]\d{5}(?!\d)中国邮政编码为6位数 ...
    判断是否为空[^0]任何输入都当作有效
    匹配ip地址\d+\.\d+\.\d+\.\d+
    验证手机号^[1][3-8][0-9]{9}$
    检查是否全数字^[0-9]+$全数字,连小数点都不 ...
    判断是否是日期加时间(?!0000)[0-9]{4}-((0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-8])|(0[13-9]|1[0-2])-(29|30)|(0[13578]|1[02])-31) (0?[0-9]|1[0-9]|2[0-3]):(0[0-9]|[12345][0-9])不带秒
    判断大于0小于3的数字^([1-9]\d?(\.\d{1,2})?|0.\d{1,2}|3)$可用于判断复选框选择 ...
    验证时间(0?[0-9]|1[0-9]|2[0-3]):(0[0-9]|[12345][0-9]):(0[0-9]|[12345][0-9])格式12:12:12
    身份证号码验证^\d{15,18}$15-18位数字
    验证是否全中文^[\u4e00-\u9fa5]+$
    姓名:(^[\x7f-\xff]{4,8}+$)
    QQ号:/^[1-9]*[1-9][0-9]*$/
    个人主页:/^(https?:\/\/)?(((www\.)?[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)?\.([a-zA-Z]+))|(([0-1]?[0-9]?[0-9]|2[0-5][0-5])\.([0-1]?[0-9]?[0-9]|2[0-5][0-5])\.([0-1]?[0-9]?[0-9]|2[0-5][0-5])\.([0-1]?[0-9]?[0-9]|2[0-5][0-5]))(\:\d{0,4})?)(\/[\w- .\/?%&=]*)?$/i
    日期:/^(19|20)\d{2}-(0?\d|1[012])-(0?\d|[12]\d|3[01])$/



    回复

    使用道具 举报

    快速回复: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    首页|Archiver|手机版|小黑屋|密通学院:专业网络营销服务商

    GMT+8, 2024-5-10 06:55 , Processed in 0.151367 second(s), 27 queries QQ

    Powered by XMT Inc. © 2015-2025 ArrayV1.0 豫ICP备17022382号

    系统运营:密城通 豫公网安备 41018302000212 号

    快速回复 返回顶部 返回列表