正则表达式入门

正则表达式
一、定义
正则表达式是用于匹配字符串中字符组合的模式。
正则表通常被用来检索、替换那些符合某个模式(规则)的文本,例如验证表单。还常用于过滤掉页面内容中的一些敏感词(替换),或从字符串中获取我们想要的特定部分(提取)等 。
二、使用
在 JavaScript 中,可以通过两种方式创建一个正则表达式。
1.通过调用 RegExp 对象的构造函数创建
var 变量名 = new RegExp(/表达式/);
2.通过字面量创建
var 变量名 = /表达式/; 
test() 正则对象方法,用于检测字符串是否符合该规则,该对象会返回 true 或 false
正则表达式.test(测试文本)
var rg = /abc/; 
rg.test('abc');
三、特殊字符
1.边界符 
 
边界符
说明
^
表示匹配行首文本(开始)
$
表示匹配末尾文本(结束)
2.字符类
方括号:[ ],是否包含括号内的字符
/[abc]/.test('andy') //"andy"中包含"a",所以返回true
 
/^[a-z]$/.test('c') // -表示范围,是否包含a到z内字母
 
/[a-z1-9]/.test('andy')//表示包含 a 到 z 的26个英文字母和 1 到 9 的数字都可以
 
/[^abc]/.test('andy')//方括号内部加上 ^ 表示取反。本该返回true,取反后返回false
 
3.量词符
 
量词
说明
*
0次或更多次
+
1次或更多次
0次或1次
{n}
n次
{n,}
n次或更多次
{n,m}
n次到m次
4.括号
1.大括号{ } 量词符. 里面表示重复次数
2.中括号[ ] 字符集合。匹配方括号中的任意字符.
3.小括号( ) 表示优先级
var reg = /^abc{3}$/;//它只是让c重复三次   abccc
var reg = /^[abc]$/;//匹配a 或 b 或c 都可以
var reg = /^(abc){3}$/;//它是让abc重复三次  abcabcabc
5.修饰符
修饰符用于执行区分大小写和全局匹配
  • i:忽略大小写
  • g:全局匹配
  • gi:全局忽略大小写匹配
6.简写模式
 
简写
说明
\d
[0-9],匹配数字
\D
[^0-9],非数字
\b
匹配一个词的边界
\B
非单词边界
\s
匹配空格
\S
非空个字符
/\bm/  ;//匹配“moon”中的‘m’;
/^\d+$/; //正整数
/^\d{n}$/; //n位数字
/(^"s*)|("s*$)/; //首尾是空格的字符
7.常用正则表达式
正则表达式
说明
^[A-Za-z]+$
英文字母组成的字符串
^[A-Z]+$
大写字母
^[a-z]+$
小写字母
^[A-Za-z0-9]+$
字母和数字
^\w+$
字母、数字、下划线
^(0?[1-9]|1[0-2])$
一年的12个月,匹配01,11,12等类似结果
^((0?[1-9])|((1|2)[0-9])|30|31)$
一个月31天,匹配01,1,12,22,30,31等类似结果
^-?\d+\.?\d{0,2}$
最多两位小数
实际应用,表单验证
    var tel = /^1[3-9]\d{9}$/; // 手机号码的正则表达式
    var qq = /^[1-9]\d{4,}$/; //QQ号码
    var pwd = /^[a-zA-Z0-9_-]{6,16}$/;//密码框 6到16位(字母,数字,下划线,减号)
    var name = /^\w{3,12}$/; //用户名
    var mail = /^[\w\+\-]+(\.[\w\+\-]+)*@[a-z\d\-]+(\.[a-z\d\-]+)*\.([a-z]{2,4})$/i/; //邮箱
    var id = /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[A-Z])/;//身份证号
    var chinese= /[\u4E00-\u9FA5]/;//包含中文

 

 
 
posted on 2020-08-04 10:30  blue_hl  阅读(177)  评论(0编辑  收藏  举报