您现在的位置是:首页 > Javascript
当前栏目
前端常用正则
2023-02-26 10:18:04 时间
常用正则表达式
匹配开头:^
匹配结尾:$
匹配中文:[u4e00-u9fa5]
匹配英文字母:[a-zA-Z]
匹配数字:[0-9]
手机号:^((13[0-9])|(14[0-9])|(15[0-9])|(17[0-9])|(18[0-9]))d{8}$
身份证:(^d{15}$)|(^d{17}([0-9]|X|x)$)
匹配网址URL:[a-zA-z]+://1*
匹配国内电话号码:d{3}-d{8}|d{4}-d{7}
匹配ip地址:d+.d+.d+.d+
根据给定规则,编写正则
1.或
匹配数字或下划线:[0-9_]
匹配1开头或2开头的3位数字: ^(1|2)d{2}$
(福利推荐:阿里云、腾讯云、华为云服务器最新限时优惠活动,云服务器1核2G仅88元/年、2核4G仅698元/3年,点击这里立即抢购>>>)
2.限定字符数
匹配任意数量数字:^d*$
匹配0或1位数字:^d?$
匹配至少1位数字:^d+$
匹配2位数字: ^d{2}$
匹配2-4位数字: ^d{2, 4}$
3.最小匹配
有时候,匹配规则可能会有多种匹配方式
const r1 = 'abcababcaab'.replace(/a.*c/g, '123') const r2 = 'abcababcaab'.replace(/a(.*?)c/g, '123') // r1与r2结果是不同的 // r1 = "123aab" // r2 = "123123aab"
4.$变量的简单运用
// '<span class="abc">我是标签内容</span>' // 在不确定这里就是abc的情况下,如何把abc替换成defg? const html = '<span data-key="id" class="abc">我是标签内容</span>' const newHtml = html.replace(/^<(.*?)class="(.*?)"(.*?)>/, '<$1class="defg"$3>') // 这里,小括号将匹配到的内容划分为一个组,可按顺序依次作为变量$1,$2,$3... // 在'<$1class="defg"$3>'中,$1就是前面/^<(.*?)class=括号内匹配到的内容
- s ↩
你还在原价购买阿里云、腾讯云、华为云、天翼云产品?那就亏大啦!现在申请成为四大品牌云厂商VIP用户,可以3折优惠价购买云服务器等云产品,并且可享四大云服务商产品终身VIP优惠价,还等什么?赶紧点击下面对应链接免费申请VIP客户吧:
相关文章
- Lua-cjson安装及部署
- 树莓派海文SeaFile配置Nginx前端反代并启用HTTPS全攻略
- JS手撕(二) 数组扁平化、浅拷贝、深拷贝
- JS手撕(三) 节流、防抖
- JS手撕(五) new、Object.create()、Object.assign()
- JS手撕(六) trim、模板字符串、千分位分隔符
- JS手撕(七) 事件总线
- js-手撕8
- JS手撕(九) 常用Promise API
- JS手撕(十) 冒泡排序、插入排序
- JS手撕(十一) 选择排序、快速排序
- HTML基础
- 校招前端经典react面试题(附答案)
- 2023前端二面react面试题(边面边更)
- 校招前端二面高频vue面试题1
- 2023前端二面高频vue面试题集锦1
- 高级前端必会手写面试题及答案1
- 手撕常见JS面试题1
- 高级前端二面手写面试题(边面边更)1
- react源码中的生命周期以及事件系统