这里有新鲜出炉的 Javascript 教程,程序狗速度看过来!
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
本文对 javascript 中正则表达式进行了总结汇总,将知识点和注意点都理了一下,并附上 2 个练习题,这里分享给小伙伴
正则表达式:
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()"/><!--提交按钮,触发函数-->
- </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 中正则表达式是一个很重要的点,很多地方都需要配合正则才行,所以小伙伴一定要学好这块内容。
来源: http://www.phperz.com/article/17/0630/274182.html