卖坚果的怪叔叔 卖坚果的怪叔叔
  • 首页
  • 生活
  • 技术
  • 记录
  • 工具箱
  • 关于我
首页 › 技术 › 前端常用的正则表达式

前端常用的正则表达式

坚果大叔
2019-08-07 20:25:55技术阅读 3,287

前端常用的正则表达式-卖坚果的怪叔叔

1. 身份证校验

const reg =/(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}$)/;
console.log(reg.test(320874199709084732))

2. 根据身份证获取出生年月日

function getBirthdayFromIdCard(idCard) {  
  var birthday = "";  
  if(idCard != null && idCard != ""){  
    if(idCard.length == 15){  
      birthday = "19"+idCard.substr(6,6);  
    } else if(idCard.length == 18){  
      birthday = idCard.substr(6,8);  
    }  
    birthday = birthday.replace(/(.{4})(.{2})/,"$1-$2-");  
  }  
  return birthday;  
}

3. 手机规则校验

const reg = /^1[3456789]\d{9}$/;
console.log(reg.test(13879763331))

4. 用户名正则

//用户名正则,4到16位(字母,数字,下划线,减号)
const reg = /^[a-zA-Z0-9_-]{4,16}$/;
//输出 true
console.log(ref.test("小夭同学"));

5. 密码强度正则

//密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符
const reg = /^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/;
//输出 true
console.log("=="+reg.test("infopush#"));

6. 整数正则

//正整数正则
const posReg = /^\d+$/;
//负整数正则
const negReg = /^-\d+$/;
//整数正则
const numReg = /^-?\d+$/;
//输出 true
console.log(posReg.test("42"));
//输出 true
console.log(negReg.test("-42"));
//输出 true
console.log(numReg.test("-42"));

7. 数字正则

//正数正则
const posReg = /^\d*\.?\d+$/;
//负数正则
const negReg = /^-\d*\.?\d+$/;
//数字正则
const numReg = /^-?\d*\.?\d+$/;
console.log(posReg.test("42.2"));
console.log(negReg.test("-42.2"));
console.log(numReg.test("-42.2"));

8. Email正则

//Email正则
const reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
//输出 true
console.log(reg.test(" 222299154507@qq.com"));

9. URL正则

//URL正则
const reg= /^((https?|ftp|file):\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/;
//输出 true
console.log(reg.test("http://lieme.cn"));

10. IPv4地址正则

//ipv4地址正则
const reg = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;
//输出 true
console.log(reg.test("115.28.47.26"));

11. 日期正则

//日期正则,简单判定,未做月份及日期的判定
const reg = /^\d{4}(\-)\d{1,2}\1\d{1,2}$/;
//输出 true
console.log(reg.test("2017-05-11"));
//输出 true
console.log(reg.test("2017-15-11"));
//日期正则,复杂判定
const reg = /^(?:(?!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-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$/;
//输出 true
console.log(reg.test("2017-02-11"));
//输出 false
console.log(reg.test("2017-15-11"));
//输出 false
console.log(reg.test("2017-02-29"));

12. QQ号码正则

//QQ号正则,5至11位
const reg = /^[1-9][0-9]{4,10}$/;
//输出 true
console.log(reg.test("11111"));

13. 微信号正则

//微信号正则,6至20位,以字母开头,字母,数字,减号,下划线
const reg = /^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$/;
//输出 true
console.log(reg.test("infopush"));

14. 车牌号正则

//车牌号正则
const reg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/;
//输出 true
console.log(reg.test("苏B39006"));

15. 包含中文正则

//包含中文正则
const reg = /[\u4E00-\u9FA5]/;
//输出 true
console.log(reg.test("小夭同学"));

16. 匹配中文字符

const reg = /[\u4e00-\u9fa5]/gm
console.log(reg.test('小夭同学')

17. 匹配双字节字符

const reg = /[^\x00-\xff]/igm
console.log(reg.test('1212')
  1. 匹配首位空白
const reg = /(^\s*)|(\s*$)/
console.log(reg.test(' d ')

19. 只能为数字

const reg = /^\d+$/
console.log(reg.test(112))

20. 只能输入n个数字

const reg = /^\d{n}$/
console.log(reg.test(11111))

21. 至少输入n个数字

const reg = /^\d{n,}$/
console.log(reg.test(2222))

22. 只能输入 m 到 n 个数字

const reg = /^\d{m,n}$/
console.log(reg.test(1212))

23. 只能由字母组成

const reg = /^[a-z]+$/i
console.log(reg.rest('ddd'))

23. 只能由大写 或 小字母组成

const reg = /^[A-Z]+$/
console.log(reg.test(SSS))

const reg = /^[a-z]+$/
console.log(reg.test(sss))

24. 只能由英文和数字组成

const reg = /^[a-z0-9]+$/i
console.log(reg.test(333ffF))

25. 只能英文、数字、下划线组成

const reg = /^\w+$/
console.log(reg.test(dd33_))

26. 带两位小数点的正数或负数

const reg =^(\-)?\d+(\.\d{1,2})?$
console.log(reg.test(11.11))

27. 待补充

正则
赞赏 赞(1)
本文系作者 @坚果大叔 原创发布在 卖坚果的怪叔叔。未经许可,禁止转载。
ES6入门之Set 和 Map
上一篇
撤回?你就以为我不到了嘛?
下一篇
在小程序中查看

这是个😊,挣点服务器费用😜

热门文章
将博客搬至CSDN
利用yalc本地调试NPM组件库!
Nuxt中服务端请求无法获取LocalStorage和Cookie的解决办法!
收藏!!最全的字符串函数方法,看完再也不会忘记了~
Js时间小方法
Python获取好友地区分布及好友性别分布
专题标签
agent (1) CSS (15) dom (1) Es6入门系列 (14) Git (3) html (1) iview (1) JavaScript (9) js (4) Lif (1) Node (4) pyecharts (1) Python (10) ref (1) scriptable (1) Skill (1) vsCode (1) vue (4) wordpress (2) 三月 (1) 上海 (1) 假期 (1) 其他分享 (3) 前端两三问 (15) 古镇 (1) 外滩 (1) 对象 (1) 小程序 (5) 年度总结 (6) 年终总结 (1) 微信机器人 (4) 打字机 (1) 技术 (1) 日常问题 (8) 日常问题记录 (1) 春天 (2) 服务器 (2) 海族馆 (1) 生活 (8) 网上国网 (1) 记录 (3) 通勤 (1) 重学JavaScript (11) 面试题 (10) 🌸 (1)
什么是Agent?
2026-08-15 23:49:12
515 0 2
什么是 Skill?
2026-08-12 21:32:42
452 1 0
失业在家,我给小朋友做了一个练字小程序!
2026-08-07 16:21:52
892 10 1
上线8年,15万用户的小程序,一共赚了多少钱?
2026-05-30 18:01:24
4,835 4 0
1
  • 1
博主

一位佛系的前端开发者,略通摄影,乐于尝试新事物,热衷于美食。

友链
故事胶片
公众号
坚果大叔 执行上下文 卖坚果的怪叔叔 Dacking
Copyright © 2017-2026 卖坚果的怪叔叔

开往-友链接力

萌ICP备20230818号

苏ICP备18048410号-3
  • 首页
  • 生活
  • 技术
  • 记录
  • 工具箱
  • 关于我
# CSS # # JavaScript # # vue # # 微信 # # 生活 #
坚果大叔
345
文章
171
评论
432
喜欢