• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
长安镖局
集装箱货物运输物流仓储一站式ERP系统
博客园    首页    新随笔    联系   管理    订阅  订阅

TERSUS笔记员工信息502-常用正则表达式

正则学习网:https://www.runoob.com/regexp/regexp-metachar.html

正则验证邮箱:^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$

正则验证手机号:^(0|86|17951)?(13[0-9]|15[0123456789]|17[678]|18[0-9]|14[57])[0-9]{8}$

国内电话号码(0511-4405222、021-87888822):\d{3}-\d{8}|\d{4}-\d{7}

身份证号(18位数字),最后一位是校验位,可能为数字或字符X:(^\d{18}$)|(\d{17}(\d|X|x)$

邮政编码:[1-9]\d{5}(?!\d) (中国邮政编码为6位数字)

车牌号:{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$

验证真实姓名:^([\u4e00-\u9fa5]{1,20}|[a-zA-Z\.\s]{1,20})$

密码(密码至少包含:数字和英文字母,长度6-20):^(?![0-9]+)(?![a−zA−Z]+)[0-9A-Za-z]{6,20}$;

 

1、不能有特殊字符和数字;

2、可以输入英文,可以有空格,可以输入英文名字中的点;

3、可以输入汉字;

4、中文英文不能同时出现;

5、长度在1-20;

 

在特色思中使用时,需要对一些写法进行调整。

例如:

姓名:^([\u4e00-\u9fa5]{1,20}|[a-zA-Z\.\s]{1,20})$

邮箱:^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$

邮编:[1-9]\d{5}(?!\d) ===》在特色思中就要写在:[1-9]{5}[0-9]$

身份证:^[1-9][0-9]{5}(18|19|20|(3[0-9]))[0-9]{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)[0-9]{3}[0-9Xx]$

手机号:^(0|86|17951)?(13[0-9]|15[0123456789]|17[678]|18[0-9]|14[57])[0-9]{8}$

电话或手机号:[0-9]{3}-[0-9]{8}$|[0-9]{4}-[0-9]{7}$|^(0|86|17951)?(13[0-9]|15[0123456789]|17[678]|18[0-9]|14[57])[0-9]{8}$

密码(密码至少包含:数字和英文字母,长度6-20):^(?![0-9]+)(?![a−zA−Z]+)[0-9A-Za-z]{6,20}$;

非负数:^[0-9]+([.][0-9]{1,})?$

 

 

简版的匹配规则
1.1 分部规则 我们首先提出方案1,并分步做如下规则定义:

1.1.1 地址码规则: 地址码长6位 以数字1-9开头 后5位为0-9的数字 根据以上规则,写出地址码的正则表达式: /^[1-9]\d{5}/

1.1.2 年份码规则: 年份码长4位 以数字18,19或20,30开头 剩余两位为0-9的数字 根据以上规则,写出年份码的正则表达式: /(18|19|20|(3\d))\d{2}/。如果想扩展可以自己添加

1.1.3 月份码规则: 月份码长2位 第一位数字为0,第二位数字为1-9 或者第一位数字为1,第二位数字为0-2 根据以上规则,写出月份码的正则表达式: /((0[1-9])|(1[0-2]))/。

1.1.4 日期码规则: 日期码长2位 第一位数字为0-2,第二位数字为1-9 或者是10,20,30,31 根据以上规则,写出日期码的正则表达式 :/(([0-2][1-9])|10|20|30|31)/。

1.1.5 顺序码规则: 顺序码长3位 顺序码是数字 根据以上规则,写出顺序码的正则表达式 :/\d{3}/。

1.1.6 校验码规则: 校验码长1位 可以是数字,字母x或字母X 根据以上规则,写出校验码的正则表达式 :/[0-9Xx]/。

最后的结果:

^[1-9]\d{5}(18|19|20|(3\d))\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$

^[1-9][0-9]{5}(18|19|20|(3[0-9]))[0-9]{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)[0-9]{3}[0-9Xx]$  将\d调整为[0-9]

 

1)整数
正数:/^[1-9][0-9]*$/
非负数:/^[0-9]*$/
负数:/^-[1-9][0-9]*$/
非正数:/^-[0-9]*$/
所有整数:/^(-)?[0-9]*$/

2)小数
正数:/^[0-9][.][0-9]{1,}$/
负数:/^-[0-9][.][0-9]{1,}$/

3)整数和小数
非负数:/^[0-9]+([.][0-9]{1,})?$/ 
非正数:/^-[0-9]+([.][0-9]{1,})?$/ 
所有数字:/^(-)?[0-9]+([.][0-9]{1,})?$/ 

tip:小数点后的位数控制:{最小位数 , 最大位数} 。[0-9]也可以用 \d 代替 特殊使用:{1,} 后位不写表示可以无限位数

 

posted @ 2021-09-10 11:52  Djtang  阅读(67)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3