一 什么是正表达式
简单说就是匹配想要的东西(Regular Expression)
正则表达式对象的创建
-
语法
var reg = /pattern(模式)/modifiers(修饰符如i(不区分大小写)g(全局搜索)m(允许多行匹配));
var reg = new RegExp(pattern,modifiers);
-
方法
test() 返回布尔值 true或者false
exec() 返回一个数组,返回你要匹配的的值
二 字符串方法
search(/haha/)------根据正则表达式进行查找
replace(/haha/,"hehe")-------根据正则表达式进行查找替换
三 正则表达式匹配模式
- 小括号
(abc) ----------查找abc这个单词
(abc|bcd|def) ---------查找abc,bcd,def这三个单词其中一个
- 中括号
[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 ---- 查找垂直制表符
- 量词
^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的字符串
四 简单实例
- 判断全部为数字
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;