JavaScript正則表達式知识汇总
Js 正則表達式知识汇总
1、什么是RegExp?RegExp是正則表達式的缩写。RegExp 对象用于规定在文本中检索的内容。
2、定义RegExp:var +变量名=new RegExp();
3、RegExp 对象有 3 个方法:
1)test()检索字符串中的指定值,返回值是true或false.
var p1=new Reg("e"); document.write(Reg.test("welcome to China!"));
2)exec()
var p1=new Reg("e"); document.write(Reg.exec("welcome to China!"));
3) compile()
var p1=new Reg("e"); document.write(Reg.compile("welcome to China!"));
4、修饰符
1)i 运行对大写和小写不敏感的匹配
2)g 运行全局匹配
3)m 运行多行匹配
5、方括号(用于查找某个范围内的字符)
1)[abc] 查找方括号之间的不论什么字符
2)[^abc] 查找不论什么不在方括号之间的字符
3)[0-9] 查找不论什么0-9之间的数字
4)[a-z] 查找不论什么小写a-z之间的字符
5)[A-Z]查找不论什么大写A-Z之间的字符
6)[A-z] 查找不论什么大写A-小写z之间的字符
7)[adgk] 查找给定集合内的不论什么字符
8)[^adgk]查找给定集合外的不论什么字符
9)(red|biue|green)查找不论什么给定的选项
6、元字符
1)\w:查找单词字符
2)\W:查找非单词字符
3)\d:查找数字
4)\D:查找非数字字符
7、 量词
n+匹配不论什么包括至少一个 n 的字符串。
n*匹配不论什么包括零个或多个 n 的字符串。
n?匹配不论什么包括零个或一个 n 的字符串。
n{X}匹配包括 X 个 n 的序列的字符串。
n{X,Y}匹配包括 X 或 Y 个 n 的序列的字符串。
n{X,}匹配包括至少 X 个 n 的序列的字符串。
n$匹配不论什么结尾为 n 的字符串。
^n匹配不论什么开头为 n 的字符串。
?=n匹配不论什么其后紧接指定字符串 n 的字符串。
?!n匹配不论什么其后没有紧接指定字符串 n 的字符串。
【练习题1】推断输入身份证格式是否正确
<body> <label>请输入身份证号:</label> <input name="" type="text" id="shenfen"/> <input name="" type="submit" id="textfi" value="提交1" onclick="test()"/><!--提交button,触发函数--> </body> </html> <!--推断身份证是否输入正确--> <script> function test() { var reg=new RegExp(/^[0-9]{17}[0-9|X]$/);<!--正則表達式的格式:以/^开头,以$/结尾,数字、字母范围用中括号--> var text=document.getElementById("shenfen").value;<!--输入文本框的字符串的id跟文本框的id相应--> //推断地区是否合法(用if...else) if(reg.test(text)) { alert("输入正确") } else { alert("输入错误"); } } </script>
效果图:
【练习题2】推断输入的邮箱格式是否正确
<body> <label>请输入您的邮箱:</label> <input name="" type="text" id="youxiang"/> <input name="" type="submit" value="提交2" onclick="y()" /> </body> </html> <script> function y() { var yx=new RegExp(/^[0-9|A-z|_]{1,17}@[A-z|0-9]{1,5}.(com|cn|net|org|cc)$/); var shuru=document.getElementById("youxiang").value; <!--定义变量,调用的是整个function,,必须把变量写在function内--> if(yx.test(shuru))<!--test正則表達式的方法--> { alert("zhengque"); } else { alert("cuowu"); } } </script>
效果图:
相对来说。js中正則表達式是一个非常重要的点。非常多地方都须要配合正则才行,所以小伙伴一定要学好这块内容。
參考来源:
Js 正則表達式
http://www.lai18.com/content/351738.html
延伸阅读
4正則表達式推断是否存在中文和全角字符和推断包括中文字符串长度
6用正則表達式 动态创建/添加css style script 兼容IE firefox
7javascript 获取链接文件地址中第一个斜线内的正則表達式
24jQuery源代码分析-02正則表達式 RegExp 经常使用正則表達式
25javascript 进阶篇1 正則表達式,cookie管理,userData
27js正則表達式
32JavaScript高级程序设计(第3版)学习笔记12 js正則表達式
34有用的JS正則表達式(手机号码/IP正则/邮编正则/电话等)
38怎样使用Javascript正則表達式来格式化XML内容
40Jquery Validate 正則表達式有用验证代码大全
55正則表達式中特殊符号及正則表達式的几种方法总结(replace,test,search)
60js正則表達式中test,exec,match方法的差别说明
66JS使用replace()方法和正則表達式进行字符串的搜索与替换实例
72javascript正則表達式參数/g与/i及/gi的使用指南
85javascript正則表達式之search()使用方法实例
86javascript正則表達式使用replace()替换手机号的方法
89javascript使用正則表達式实现去掉空格之后的字符
91Javascript 正則表達式实现为数字加入千位分隔符
92【JavaScript】利用正則表達式检查输入框输入的是否为网址
95JavaScript正則表達式中的ignoreCase属性使用具体解释
96具体解释JavaScript正則表達式中的global属性的使用
97在JavaScript的正則表達式中使用exec()方法
JavaScript正則表達式知识汇总的更多相关文章
- javascript 正則表達式补充
定义 JavaScript种正則表達式有两种定义方式,定义一个匹配类似 <%XXX%> 的字符串 1. 构造函数 var reg=new RegExp('<%[^%>]+%&g ...
- javascript正則表達式 "\b"问题
preface 昨晚在看<javascript权威指南>后.看见作者自己封装一个兼容全部浏览器的山寨HTML5新API classLIst类.自己想了想认为自己也要去玩一下.可是能力还是有 ...
- DOM笔记(十):JavaScript正則表達式
一.RegExp ECMAScript通过RegExp类型类支持正則表達式,语法和Perl类似: var exp = /pattern/flags; patternb部分是不论什么简单的或复杂的正則表 ...
- JavaScript 正則表達式
一.简单介绍 1.什么是正則表達式 正則表達式本身就是一种语言,这在其他语言是通用的. 正則表達式(regular expression)描写叙述了一种字符串匹配的模式,能够用来检查一个串是否含有某种 ...
- 经常使用的正則表達式归纳—JavaScript正則表達式
来源:http://www.ido321.com/856.html 1.正则优先级 首先看一下正則表達式的优先级,下表从最高优先级到最低优先级列出各种正則表達式操作符的优先权顺序: 2.经常使用的正則 ...
- javascript——正則表達式
正則表達式(RegExp对象):主要用于表单验证 1.创建正則表達式: (1).var ret = /pattern/; pattern是内容.能够是正則表達式的内容,能够是字符或是其它的内容 (2) ...
- javascript正則表達式
定义一个正則表達式 能够用字面量 var regex = /xyz/; var regex = /xyz/i; 也能够用构造函数 var regex = new RegExp('xyz'); var ...
- 使用正則表達式的格式化与高亮显示json字符串
使用正則表達式的格式化与高亮显示json字符串 json字符串非常实用,有时候一些后台接口返回的信息是字符串格式的,可读性非常差,这个时候要是有个能够格式化并高亮显示json串的方法那就好多了,以下看 ...
- JavaScript使用正則表達式
2.0 简单介绍 正則表達式是能够用来查找与给定模式匹配的文本的搜索模式.比如,在上一章中,我们在一个较长的字符串中查找子字符串Cookbook: var testValue = "This ...
随机推荐
- powershell远程访问
在服务器上打开powershell 1.winrm quickconfig 2.Enable-PSRemoting -Force 在客户端上打开powershell 1.Enter-PSSession ...
- Python的递归深度
RuntimeError: maximum recursion depth exceeded while calling a Python object 大意是调用 Python 对象时超出最大深度限 ...
- [笔记][Java7并发编程实战手冊]3.4 等待多个并发事件的完毕CountDownLatch倒计数闭锁
[笔记][Java7并发编程实战手冊]系列文件夹 简单介绍 本文学习CountDownLatch 倒计数闭锁. 本人英文不好.靠机器翻译,然后有一段非常形象的描写叙述,让我把它叫为倒计数 用给定的计数 ...
- uva 10061(数学)
题解:题目要在b进制下输出的是一个数字阶乘后有多少个零,然后输出一共同拥有多少位.首先计算位数,log(n)/log(b) + 1就是n在b进制下有多少位,而log有个公式就是log(M×N) = l ...
- asp.net core 2.1开发环境下配置IIS
asp.net core 2.1是可以在开发环境下配置到IIS中的,这样就可以在vs中按F5直接运行了 在项目上右键点击属性,然后在Debug中配置如下参数 首先点击New按钮,输入IIS,点击确定 ...
- Codeforces Round #269 (Div. 2) B. MUH and Important Things
It's time polar bears Menshykov and Uslada from the zoo of St. Petersburg and elephant Horace from t ...
- 机器学习之线性分类器(Linear Classifiers)——肿瘤预测实例
线性分类器:一种假设特征与分类结果存在线性关系的模型.该模型通过累加计算每个维度的特征与各自权重的乘积来帮助决策. # 导入pandas与numpy工具包. import pandas as pd i ...
- Android studio关于点击事件后的页面跳转,选择完成后返回(onActivityResult)
我这个人喜欢直接上代码,在代码中说明更方便,更直接. 首先在.xml中设置一个button按钮,和一个EditText框,并分别做好id号. 这里我以籍贯测试对象. <LinearLayout ...
- node.js流复制文件
转自:http://segmentfault.com/a/1190000000519006 nodejs的fs模块并没有提供一个copy的方法,但我们可以很容易的实现一个,比如: var source ...
- 利用Windows2003 IP安全策略实现服务器远程桌面端口(3389)访问控制
1 开始 → 运行 → 对话框中输入gpedit.msc → 确定 2 打开“组策略编辑器” 计算机配置 → Windows配置 → 右键点击“IP安全策略,在 本地计算机” →选择“创建IP安全策略 ...