1、 数字价格千分位分割

'123456789'.replace(/(?!^)(?=(\d{3})+$)/g, ',') // "123,456,789"

2、手机号3-4-4分割,表单搜集场景,经常遇到的手机格式化

let mobile = '18379836654'
let mobileReg = /(?=(\d{4})+$)/g
console.log(mobile.replace(mobileReg, '-')) // 183-7983-6654
//用户输入手机号的过程中,不断格式化
const formatMobile = (mobile) => {return String(mobile).slice(0,11).replace(/(?<=\d{3})\d+/, ($0) =>'-' + $0).replace(/(?<=[\d-]{8})\d{1,4}/, ($0) =>'-' + $0)
}
console.log(formatMobile(123)) // 123
console.log(formatMobile(1234)) // 123-4
console.log(formatMobile(12345)) // 123-45
console.log(formatMobile(123456)) // 123-456
console.log(formatMobile(1234567)) // 123-4567
console.log(formatMobile(12345678)) // 123-4567-8
console.log(formatMobile(123456789)) // 123-4567-89
console.log(formatMobile(12345678911)) // 123-4567-8911

3、验证密码的合法性

//密码长度是6-12位,由数字、小写字母和大写字母组成,但必须至少包括2种字符
let reg = /(((?=.*\d)((?=.*[a-z])|(?=.*[A-Z])))|(?=.*[a-z])(?=.*[A-Z]))^[a-zA-Z\d]{6,12}$/
console.log(reg.test('123456')) // false
console.log(reg.test('aaaaaa')) // false
console.log(reg.test('AAAAAAA')) // false
console.log(reg.test('1a1a1a')) // true
console.log(reg.test('1A1A1A')) // true
console.log(reg.test('aAaAaA')) // true
console.log(reg.test('1aA1aA1aA')) // true

4、实现一个trim函数

//去除字符串的首尾空格
const trim = (str) => {return str.replace(/^\s*|\s*$/g, '')
}
trim(" sdnkaf ") //"sdnkaf"
// 提取非空格法
const trim1 = (str) => {return str.replace(/^\s*(.*?)\s*$/g, '$1')
}
trim1(" sdnkaf ")//"sdnkaf"

5、通过name获取url query参数

const getQueryByName = (name) => {const queryNameRegex = new RegExp(`[?&]${name}=([^&]*)(&|$)`)const queryNameMatch = window.location.search.match(queryNameRegex)// 一般都会通过decodeURIComponent解码处理return queryNameMatch ? decodeURIComponent(queryNameMatch[1]) : ''
}
//https://editor.csdn.net/md?not_checkout=1&articleId=120011793
getQueryByName("not_checkout") //1

6、匹配24小时制时间

//判断时间time是否符合24小时制
const check24TimeRegexp = /^(?:(?:0?|1)\d|2[0-3]):(?:0?|[1-5])\d$/
console.log(check24TimeRegexp.test('01:14')) // true
console.log(check24TimeRegexp.test('23:59')) // true
console.log(check24TimeRegexp.test('23:60')) // false
console.log(check24TimeRegexp.test('1:14')) // true
console.log(check24TimeRegexp.test('1:1')) // true

7、检测URL前缀

//检查一个url是否是http或者https协议头
const checkProtocol = /^https?:/
console.log(checkProtocol.test('https://juejin.cn/')) // true
console.log(checkProtocol.test('http://juejin.cn/')) // true
console.log(checkProtocol.test('//juejin.cn/')) // false

8、检测中文

//检测字符串str是否是都由中文组成
const checkChineseRegex = /^[\u4E00-\u9FA5]+$/
console.log(checkChineseRegex.test('前端胖头鱼'))//true
console.log(checkChineseRegex.test('1前端胖头鱼'))//false
console.log(checkChineseRegex.test('前端胖头鱼2'))//false

9、匹配手机号

//检测一个字符串是否符合手机号的规则
//手机号本身是有时效性的,各大运营商有时候会推出新的号码,所以我们的正则也具有时效性,需要及时补充
//具体规律可以查看 中国大陆移动终端通信号码
const mobileRegex =/^(?:\+?86)?1(?:3\d{3}|5[^4\D]\d{2}|8\d{3}|7(?:[235-8]\d{2}|4(?:0\d|1[0-2]|9\d))|9[0-35-9]\d{2}|66\d{2})\d{6}$/;console.log(mobileRegex.test("18379867725"));//trueconsole.log(mobileRegex.test("123456789101"));//falseconsole.log(mobileRegex.test("+8618379867725"));//trueconsole.log(mobileRegex.test("8618379867725"));//true

10、英文单词加前后空格

//字母汉字组成的字符串,用正则给英文单词加前后空格。
//如:you说来是come,去是go => you 说来是 come ,去是 go 例子
console.log("you说来是come,去是go".replace(/\b/g, " ")); // you 说来是 come ,去是 go

11、判断版本号

//要求版本号必须是X.Y.Z格式,其中XYZ都是至少一位的数字
const versionRegexp = /^(?:\d+\.){2}\d+$/;console.log(versionRegexp.test("1.1.1"));//trueconsole.log(versionRegexp.test("1.000.1"));//trueconsole.log(versionRegexp.test("1.000.1.1"));//false

项目中常用到的正则(价格千位分割格式化,手机号3-4-4格式化,密码验证,去除空格,获取url参数,检测24小时时间制,检测url前缀,检测中文,检测手机号,英文单词前后加空格,判断版本号)相关推荐

  1. Android项目中常用的工具类集(史上最全整理)

    如果你是一名有经验的Android开发者,那么你一定积累了不少的工具类,这些工具类是帮助我们快速开发的基础.如果你是新手,那么有了这些辅助类,可以让你的项目做起来更加的简单. 下面介绍一个在GitHu ...

  2. 关于mysql的项目_项目中常用的MySQL 优化

    本文我们来谈谈项目中常用的MySQL优化方法,共19条,具体如下: 一.EXPLAIN 做MySQL优化,我们要善用EXPLAIN查看SQL执行计划. 下面来个简单的示例,标注(1.2.3.4.5)我 ...

  3. Android 项目中常用到的第三方组件

    项目中常用到的第三方组件 1 社会化分享 ShareSDK-Core-2.5.9.jar ShareSDK-QQ-2.5.9.jar ShareSDK-QZone-2.5.9.jar ShareSDK ...

  4. 乐鑫esp8266学习rtos3.0笔记第9篇:整理分享那些我在项目中常用的esp8266 rtos3.0版本的常见驱动,Button按键长短按、PWM平滑调光等。(附带demo)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. Esp8266之 搭建开发环境,开始一个"hello ...

  5. 项目中常用的MySQL优化你知道多少?

    项目中常用的MySQL优化 文章目录 项目中常用的MySQL优化 前言 一.mysql优化是什么? 二.优化步骤 1.EXPLAIN 2.SQL语句中IN包含的值不应太多 3.SELECT语句务必指明 ...

  6. VB的一些项目中常用的通用方法-一般用于验证类

    1.VB的一些项目中常用的通用方法: ' 设置校验键盘输入值,数字 Public Function kyd(key As Integer) As Integer '20060728 Dim mycha ...

  7. C#项目中常用到的设计模式

    C#项目中常用到的设计模式 1. 引言 一个项目的通常都是从Demo开始,不断为项目添加新的功能以及重构,也许刚开始的时候代码显得非常凌乱,毫无设计可言.但是随着项目的迭代,往往需要将很多相同功能的代 ...

  8. 记录下项目中常用到的JavaScript/JQuery代码一(大量实例)

    一直没有系统学习Javascript和Jquery,每次都是用到的时候去搜索引擎查,感觉效率挺低的.这边把我项目中用的的记录下,想到哪写哪,有时间再仔细整理. 当然,由于我主要是写后端java开发,而 ...

  9. element-ui 为<el-table>内数据 添加数字千位分割符

    因用若依做后台管理脚手架,所以首先把以下方法写在Utils文件夹下的 ruoyi.js 里 1 export function stateFormat(row, column, cellValue) ...

  10. 面试官:项目中常用的 .env 文件原理是什么?如何实现?

    1. 前言 大家好,我是若川.持续组织了5个月源码共读活动,感兴趣的可以点此加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步.同时极力推荐订阅我写的<学习源码整 ...

最新文章

  1. SZUACM集训字符串基础总结: 字符串最小表示 ,KMP, EXKMP, Manracher, Trie树,字符串的hash; 附带一写常见的运用技巧,邝斌大佬的板子和例题[持续更新]
  2. linux应用程序安装与管理
  3. h1.1 hadoop简介
  4. Android 开源库获取途径整理
  5. 有趣的开源 AI 换脸工具:faceswap
  6. 【数据结构-图】4.拓扑排序和关键路径(注解+原理)
  7. 【深度学习】基于web端和C++的两种深度学习模型部署方式
  8. C语言spirograph算法图形绘制(附完整源码)
  9. windows下安装和设置gradle
  10. 现代软件工程 第十四章 【质量保障】 练习与讨论
  11. ubuntu学习笔记之安装oracle客户端
  12. mysql索引的类型和查看、添加、修改、删除索引的方法介绍
  13. 视觉SLAM笔记(14) Eigen几何模块
  14. NO.5 计算数组中三个数的最大乘积
  15. 穿越机用途和机架尺寸
  16. 【C语言】九九乘法口诀表
  17. 最新简库软件库工具箱综合iApp安卓源码
  18. 安装netbeans步骤
  19. 华为光猫虚拟服务器怎么设置,华为路由器连接光猫怎么设置
  20. 微型计算机显示器能源效率,【Mr. Green】加州计算机显示器能源效率规定

热门文章

  1. 一号教学楼供配电设计
  2. 4行代码,Python玩转美图秀秀
  3. B站韩顺平java学习笔记(九)-- 面向对象编程(高级)章节
  4. 数据库系统教程-面试汇总-合集
  5. 电子申请客户端(EAC)在64位系统上的兼容性问题
  6. 程序猿趣图几张,第一张就亮瞎了..
  7. 写给想学 Javascript 朋友的一点经验之谈
  8. 概率论——随机变量和的期望
  9. 小程序中的api接口请求封装
  10. Linux(Ubuntu)上的VULKAN环境配置步骤记录