Regular Expressions

先是考虑整个正则表达式匹配模式,然后是javascript正则对象。

JavaScript 的正则语法就是基于 Perl 的。

1. 正则表达式30分钟入门教程 :

通过此教程可以明确正则表达式是怎么用的,大概有什么内容。

2. 对于特殊字符的分类以及匹配规则 (MDN)    :

3. 在javascript中正则对象的方法和属性 (阮一峰) 

正则对象的属性和方法

字符串对象的方法

 4. 其他:

正则表达式标志标志描述

  • g全局搜索。
  • i不区分大小写搜索。
  • m多行搜索。
  • y执行“粘性”搜索,匹配从目标字符串的当前位置开始,可以使用y标志。

注意一些内容:

特定的称谓:

  • 组匹配
  • 捕获组
  • 向后引用
  • 零宽断言
  • 分支条件

等等详细的分类,注意中英文翻译的区别。

5.常用正则表达式:

说明 正则表达式
网址(URL) [a-zA-z]+://[^s]*
IP地址(IP Address) ((2[0-4]d|25[0-5]|[01]?dd?).){3}(2[0-4]d|25[0-5]|[01]?dd?)
电子邮件(Email) w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
QQ号码 [1-9]d{4,}
HTML标记(包含内容或自闭合) <(.*)(.*)>.*</1>|<(.*) />
密码(由数字/大写字母/小写字母/标点符号组成,四种都必有,8位以上) (?=^.{8,}$)(?=.*d)(?=.*W+)(?=.*[A-Z])(?=.*[a-z])(?!.*n).*$
日期(年-月-日) (d{4}|d{2})-((1[0-2])|(0?[1-9]))-(([12][0-9])|(3[01])|(0?[1-9]))
日期(月/日/年) ((1[0-2])|(0?[1-9]))/(([12][0-9])|(3[01])|(0?[1-9]))/(d{4}|d{2})
时间(小时:分钟, 24小时制) ((1|0?)[0-9]|2[0-3]):([0-5][0-9])
汉字(字符) [u4e00-u9fa5]
中文及全角标点符号(字符) [u3000-u301eufe10-ufe19ufe30-ufe44ufe50-ufe6buff01-uffee]
中国大陆固定电话号码 (d{4}-|d{3}-)?(d{8}|d{7})
中国大陆手机号码 1d{10}
中国大陆邮政编码 [1-9]d{5}
中国大陆身份证号(15位或18位) d{15}(dd[0-9xX])?
非负整数(正整数或零) d+
正整数 [0-9]*[1-9][0-9]*
负整数 -[0-9]*[1-9][0-9]*
整数 -?d+
小数 (-?d+)(.d+)?
不包含abc的单词 b((?!abc)w)+b

 

 

6.参考链接: