正则表达式 入门基础
字符讲解
[A-Z] 匹配所有大写字母
[a-z] 表示所有小写字母
w 匹配字母、数字、下划线
匹配一个换行符
^ 匹配输入字符串的开始位置
$ 匹配输入字符串的结尾位置
* 匹配前面的子表达式零次或多次
+ 匹配前面的子表达式一次或多次
? 匹配前面的子表达式零次或一次
{n} 匹配确定的 n 次
{n,} 至少匹配n 次
{n,m} 最少匹配 n 次且最多匹配 m 次
eg:
- ^ 表示开头 ([ ]里面的^表示取反)
//^LLmd 表示必须 LLmd开始
console.log(/^LLmd/.test("daLLmd"));//false
console.log(/^LLmd/.test("LLmdg"));//true
console.log(/^LLmd/.test("daLLmdg"));//false
console.log(/^LLmd/.test("LLmdLLmd"));//true
- $ 表示结尾
// $表示结束 必须以MMtu结束
console.log(/MMtu$/.test("daMMtu")); //true
console.log(/MMtu$/.test("MMtug")); //false
console.log(/MMtu$/.test("daMMtug")); //false
console.log(/MMtu$/.test("MMtuMMtu")); //true
- ^...$ 表示精确匹配
// 精确匹配 必须只有MMtu这4个字母
console.log(/^MMtu$/.test("MMtu")); //true
console.log(/^MMtu$/.test("daMMtu")); //false
console.log(/^MMtu$/.test("MMtug")); //false
console.log(/^MMtu$/.test("daMMtug")); //false
console.log(/^MMtu$/.test("MMtuMMtu")); //false
- 验证姓名
//只能是汉字
//长度2-4位之间
//汉字范围[u4e00-u9fa5]
var nameReg = /^[u4e00-u9fa5]{2,4}$/;
console.log(nameReg.test("二二二"));
- 验证QQ
//只能是数字
//开头不能是0
// 长度为5-11位
var qqReg = /^[1-9]d{4,11}$/;
console.log(qqReg.test("925111111"));
console.log(qqReg.test("822618"));
- 验证邮箱
//前面是字母或者数字
// 必须有@
// @后面是字母或者数字
// 必须有.
//后面是字母或者数字
var emailReg = /^w+@w+(.w+)+$/;
console.log(emailReg.test("11111@qq.com"));
console.log(emailReg.test("ccc@163.com.cn"));