正则表达式

一 什么是正表达式

简单说就是匹配想要的东西(Regular Expression)

正则表达式对象的创建

  1. 语法

var reg = /pattern(模式)/modifiers(修饰符如i(不区分大小写)g(全局搜索)m(允许多行匹配));
var  reg = new RegExp(pattern,modifiers);
  1. 方法

test() 返回布尔值  true或者false
exec() 返回一个数组,返回你要匹配的的值

二 字符串方法

search(/haha/)------根据正则表达式进行查找
replace(/haha/,"hehe")-------根据正则表达式进行查找替换

三 正则表达式匹配模式

  1. 小括号
(abc) ----------查找abc这个单词
(abc|bcd|def) ---------查找abc,bcd,def这三个单词其中一个
  1. 中括号
[12345]   ------ 包括1、2、3、4、5其中的某一个
[0-9] --------包括所有数字
[abc] --------包括a、b、c其中的一个
[a-z] --------包括所有的小写字母
[A-Z] --------包括所有的大写字母
[A-z]--------包括所有字母

3.元字符

.  ---- 代表任何的字符(Ps:如果需要加 .  的时候需要进行转义)
\w -----代表任何字母、数字、下划线
\W ---- 代表任何非字母、数字、下划线
\d ----任何数字
\D ----任何非数字
\s ----空白字符
\S ----非空白字符
\b ---- 查找单词边界
\B ----查找非单词边界
\0 ----查找NULL字符
\n ----查找换行符
\f ----查找分页符
\r ----查找回车符
\t ---- 查找制表符
\v ---- 查找垂直制表符
  1. 量词
^n ---- 匹配开头为n的字符串
n$ ---- 匹配结尾为n 的字符串
n+ ---- 匹配任何包含至少一个n的字符串
n{x} ----- 匹配任何包含x个n的字符串
n{x,y} ---- 匹配包含x到y个n的字符串
n* ----匹配任何包含0个或者多个n的字符串
n? ----匹配任何包含0个或者1个n的字符串
?=n ----匹配任何其后紧接指定字符串n的字符串
?!n -----匹配任何其后没有紧接字符串n的字符串

四 简单实例

  1. 判断全部为数字
var reg = ^D/g;
var reg = /^(0-9)+$/g;
var reg = /^(0123456789)+$/g;
var reg = /^\d+$/g;

2.判断后缀:

var reg = /^.+\.pdf$/i;

3.判断小数

var reg = /^\d+\.\d+$/;

4.判断手机号

var reg = /^((13|18)(\d{9}))$|^(14[57]\d{8})$|^(17[07]\d{8})$|^(15[0-35-9]\d{8}$)/;

5.判断邮箱

var reg = /^\w+@\w+(\.(com|cn|net|org|edu)){1,2}$/g;

推荐阅读更多精彩内容