javascript正则表达式(三) 高级篇
- 作者:洒血 | 分类: javascript | 评论:0 | 浏览:92 | 时间:2011-04-30 20:00:14 |
- javascript正则表达式高级篇,主要讲述了表达式中使用特殊字符,以及一些元字符的使用,最后用正则表达式,匹配一个电子邮件的规则。
-
javascript正则表达式高级篇
javascript中的元字符
使用元字符注意事项:元字符是正则表达式的一部分,当我们要匹配正则表达式本身时,必须对这些元字符转义.下面是正则表达式用到的所有元字符
( [ { \ ^ $ | ) ? * + .
var str = "?";
var re = /?/;
alert(re.test(str));//出错,因为?是元字符,必须转义
re = /\?/;
alert(re.test(str));//trueRegExp构造函数与使用正则表达式字面量创建正则表达式注意点
var str = "\?";
alert(str);//只会输出?
var re = /\?/;//将匹配?
alert(re.test(str));//true
re = new RegExp("\?");//出错,因为这相当于re = /\?/
re = new RegExp("\\?");//正确,将匹配?
alert(re.test(str));//true
既然双重转义这么不友好,所以还是用正则表达式字面量的声明方式如何在正则表达式中使用特殊字符
实例:
//ASCII方式用十六进制数来表示特殊字符
var re = /^\x43\x4A$/;//将匹配CJ
alert(re.test("CJ"));//true
//也可使用八进制方式
re = /^\103\112$/;//将匹配CJ
alert(re.test("CJ"));//true
//还可以使用Unicode编码
re =/^\u0043\u004A$/;//使用 Unicode,必须使用u开头,接着是字符编码的四位16进制表现形式
alert(re.test("CJ"));
另外还有一些其他的方法:
另处,还有一些其它的预定义特殊字符,如下表所示:
\n换行符 \r回车 \t制表符
\f换页符(Tab)\cX X对应的控制字符
\b退格符(BackSpace) \v垂直制表符
\0空字符("")电子邮箱正则匹配
构建一个验证电子邮箱地址有效性的正则表达式。电子邮箱地址有效性要求(我们姑且这样定义):用户名只能包含字母数字以及下划线,最少一位,最多25位,用户名后面紧跟@,后面是域名,域名名称要求只能包含字母数字和减号(-),并且不能以减号开头或结尾,然后后面是域名后缀(可以有多个),域名后缀必须是点号连上2-4位英文字母
代码如下:
var re = /^\w{1,15}(?:@(?!-))(?:(?:[a-z0-9-]*)(?:[a-z0-9](?!-))(?:\.(?!-)))+[a-z]{2,4}$/; -
本文链接:http://www.saxue.com/javascript/gaojipian.html
郑重声明: 本站为原创作网站,请尊重本站版权,洒血博客版权所有,未经许可 请勿转载,未通知本站转载者请注明转载出处
-
- 赞助招商
