正则表达式的语法

量词

  • 通过量词可以设置一个内容出现的次数
    var reg = /a{3}/
  • {n} 正好出现n次

//通过量词可以设置一个内容出现的次数
//{n} 正好出现n次
var reg = /a{3}/;
console.log(reg.test(“aaabc”));

  • 量词只对它前边的内容起作用,要想整体起作用,必须加上括号

//创建一个正则表达式检查一个字符串中是否含有ababab
var reg = /(ab){3}/;
console.log(reg.test(“ababab”));

  • {m,n}出现m到n次
  • {m,}出现m次以上
  • + 至少一次,相当于{1,}
    
  • * 0个或多个,相当于{0,}
    
  • ?0个或一个,相当于{0,1}
  • ^ 表示开头
    var reg = /^a/ 表示字符串以a开头
  • $ 表示结尾
    var reg = /^a/ 表示字符串以a结尾

//检查一个字符串是否以a开头
var reg = /^a/;
console.log(reg.test(“abcd”));

//检查一个字符串是否以a结尾
var reg = /a$/;
console.log(reg.test(“bcfdsa”)); //true

  • 如果在正则表达式中同时使用^$则要求字符串必须完全符合正则表达式
  • var reg = /^a|a$/ 表示以a开头或以a结尾

//检查一个字符串只有a
var reg =/^a$/;
console.log(reg.test(“a”));

  • . 表示任意字符

  • 在正则表达式中使用\来表示转义字符

  •  \. 表示.
    
  • \\ 表示\
    
  • 注意: 使用构造函数时,由于它的参数是字符串,而\是字符串的转义字符,如果要使用\则必须使用\ \来代替

  • \w 任意字母、数字、_ [A-z0-9_]

  • \W 除了字母、数字、_ [^A-z0-9_]

  • \d 任意的数字 [0-9]

  • \D 除了数字 [^0-9]

  • \s 空格

  • \S 除了空格

  • \b 单词边界,用来检查一个字符串是否含有某个单词

  • \B 除了单词边界

//创建一个正则表达式检查一个字符串中是否含有单词child
var reg = /\bchild\b/
console.log(reg.test(“hello child ren”)

//检查一个字符串中是否含有.
var reg = /\./;
console.log(reg.test(“abc.bcd”)); //true

//注意: 使用构造函数时,由于它的参数是字符串,而\是字符串的转义字符,如果要使用\则必须使用\\来代替
var reg = new RegExp("\.");
console.log(reg.test(“abc.cvd”));
console.log(reg);

创建一个正则表达式检查手机号是否合法

/*
*手机号的规则
*13507890123
* 1. 以1开头
* 2. 第二位3-9的任意数字
* 3. 第三位以后任意数字9个
*
*
* ^1 [3-9] [0-9]{9}$
*
*
*
*/
var phoneStr = prompt(“请输入手机号”);
var phoneReg = /^1[3-9][0-9]{9}$/
var bool = phoneReg.test(phoneStr);
if(bool == true){
alert(“输入正确”);
}else{
alert(“输入有误,请重新输入”);
}

去除字符串前后的空格

//去除字符串中前后的空格
//去除空格就是用 “” 来代替空格
// /^\s*|\s*$/g 匹配开头和结尾的空格
var str = " hello “;
str = str.replace(/^\s*|\s*$/g,”")
console.log(str);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值