前端js常用正则表达式实例讲解
本文内容整理自他人优秀的博客,非纯原创。仅借此学习和整理。
1.匹配用户名
规则描述:
- 长度4-6位: {4,16}
- 字母: [a-z] [A-Z]
- 数字: [0-9]
- 下划线: [_]
- 减号: [-]
var usernameReg = /^[a-zA-Z0-9_-]{4,16}$/;
代码分析:
- ^: 匹配字符串的开始位置
- []: 中括号表达式,字符集合,匹配所包含的任意一个字符
- [xyz] :字符集合,匹配所包含的任意一个字符
- [^xyz] :负值字符集合,匹配未包含的任意字符
- -:a-z 表示范围连接符,最后一个-代表-本身
- {}: 限定符
- {n}: 匹配确定的n次
- {n,}:至少匹配n次
- {n,m}: 最少匹配n次且最多匹配m次
- $: 匹配字符串结尾的位置
2.匹配密码(简单)
规则描述:
- 长度6-16: {6,16}
- 可以包含小写字母: [a-z]
- 可以包含大写字母: [A-Z]
- 可以包含数字: [0-9]
- 可以包含下划线: [_]
- 可以包含减号: [-]
var pwdSingleReg = /^[\w_-]{6,16}$/;
代码分析:
- \w: 匹配字母、数字、下划线。等价于[A-Za-z0-9_]
- \W: 匹配非字母、数字、下划线。等价于[^A-Za-z0-9_]
3.匹配密码(强)
规则描述:
- 长度6-16 {6,16}
- 必须包含1个数字: [0-9]或\d
- 必须包含2个大写字母: [A-Z]
- 必须包含2个小写字母: [a-z]
- 必须包含1个特殊字符(键盘数字1234567890上标的字符): [!@#$%^&*()]
var pwdStrongReg = /^.*(?=.{6,16})(?=.*\d)(?=.*[A-Z]{2,})(?=.*[a-z]{2,})(?=.*[!@#$%^&*\(\)]).*$/;
代码分析:
- .:匹配除换行符\n之外的任何单字符
- *:匹配前面的子表达式0次或多次
- (?=pattern):零宽正向先行断言或叫正向肯定预查。在任何匹配pattern的字符串开始处匹配查找字符串。看概念不容易懂,这里有个菜鸟教程的例子:
- "Windows(?=95|98|NT|2000)" 能匹配"Windows2000"中的"Windows",但不能匹配"Windows3.1"中的"Windows"
- [!@#$%^&*?\(\)]:\(\)斜杠用作圆括号表达式转义
(有空再补充)
学习正则表达式参考文章:
前端js常用正则表达式实例讲解的更多相关文章
- JS常用正则表达式备忘录
摘要: 玩转正则表达式. 原文:JS常用正则表达式备忘录 作者:前端小智 Fundebug经授权转载,版权归原作者所有. 正则表达式或"regex"用于匹配字符串的各个部分 下面是 ...
- js常用正则表达式,滚蛋吧!你们测试组bug,让你挑
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- js常用正则表达式2
字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界. -或- 对 ...
- 前端JS常用字符串处理实例
字符串处理常常用在处理服务器回传的数据.动态拼接生成html等,是前端面试的必考题. 我觉得字符串处理这种常用到的,一定要了然于心,不然用到时急急忙忙去翻手册费半天. 入正题,首先提出平常遇到的几个需 ...
- js 常用正则表达式表单验证代码
正则表达式使用详解 简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具.其作用如下:测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一 ...
- Vue.js 基础指令实例讲解(各种数据绑定、表单渲染大总结)——新手入门、高手进阶
Vue.js 是一套构建用户界面的渐进式框架.他自身不是一个全能框架--只聚焦于视图层.因此它非常容易学习,非常容易与其它库或已有项目整合.在与相关工具和支持库一起使用时,Vue.js 也能完美地驱动 ...
- js常用正则表达式表单验证代码
方法一: var re=/正则表达式/; re.test($("txtid").val()) 方法二: $("txtid").val.match(/正则 ...
- JS常用正则表达式和JS控制输入框输入限制(数字、汉字、字符)
验证数字:^[0-9]*$验证n位的数字:^\d{n}$验证至少n位数字:^\d{n,}$验证m-n位的数字:^\d{m,n}$验证零和非零开头的数字:^(0|[1-9][0-9]*)$验证有两位小数 ...
- js常用正则表达式汇总
常用的前台正则表达式汇总. 1.手机号验证 手机格式以1开头,现有的手机格式一般为13.14.15.17.18等 var regMobile = /^1[34578]\d{9}$/; //或者为/^1 ...
随机推荐
- Activity 之间 传递 List 封装的对象或者对象
项目中遇到 从也个页面向还有一个页面跳转传递一个List 封装的对象 .按网上查的资料 须要把 对象 实现 Serializable接口. 写了一下.可是跳转直接崩溃.一直看错误之日找不到原因后来自习 ...
- javascript 将时间戳格式化
<script>function getLocalTime(nS) { return new Date(parseInt(nS) * 1000).toLocaleString().repl ...
- 认识Linux瘦客户机
(本文完整版见http://os.51cto.com/art/201001/181448.htm) 随着Linux的发展,以及网络计算技术的发展和逐步深入的云计算,基于Li ...
- 解决root登录 -bash-4.2# 的问题
- 微信小程序从零开始开发步骤(四)自定义分享的功能
上一章节,实现了小程序的底部导航的功能,这一节开始实现一些简单的功能.本章节介绍的是小程序的自定义分享的功能. 可以分享小程序的任何一个页面给好友或群聊.注意是分享给好友或群聊,并没有分享到朋友圈.一 ...
- 00081_List接口
1.List接口介绍 (1)有序的 collection(也称为序列).此接口的用户可以对列表中每个元素的插入位置进行精确地控制.用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元 ...
- XML学习总结(2)——XML简单介绍
一.XML概念 Extensible Markup Language,翻译过来为可扩展标记语言.Xml技术是w3c组织发布的,目前推荐遵循的是W3C组织于2000发布的XML1.0规范. 二.学习XM ...
- iOS_31_cocos2d_微信飞机
终于效果图: 纹理素材 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcHJlX2VtaW5lbnQ=/font/5a6L5L2T/fontsize/400 ...
- 洛谷 P2504 [HAOI2006]聪明的猴子
洛谷 P2504 [HAOI2006]聪明的猴子 题目描述 在一个热带雨林中生存着一群猴子,它们以树上的果子为生.昨天下了一场大雨,现在雨过天晴,但整个雨林的地表还是被大水淹没着,部分植物的树冠露在水 ...
- 【2017"百度之星"程序设计大赛 - 初赛(B)】小小粉丝度度熊
[链接]http://acm.hdu.edu.cn/showproblem.php?pid=6119 [题意] 在这里写题意 [题解] 先把相交的部分合成一个区间. 这个可以用排序,加个简单的处理就能 ...