【JS】正则表达式(和一些字符串方法)

1.什么是正则表达式

正则表达式是用于定义字符串的规则,计算机可以根据正则表达式检查一个字符串是否符合规则,获取字符串中符合规则的内容

2.使用语法:

var 变量 = new RegExp("正则表达式", "匹配模式");
其中第二个参数为匹配模式
可以是 (i 忽略大小写)(g 全局匹配模式)
或者var 变量 = /正则表达式/匹配模式;

3.一些方法
  1. 正则表达式对象.test(检测对象)符合正则表达式要求则返回true否则不返回。
  2. 使用|(或)符号 var reg = /a|b/检查一个字符串中是否有a或者b
  3. []这个里面的内容也表示或 例如 [ab] == a|b
  4. [a-z]任意小写字母
  5. [A-Z]任意大写字母
  6. [A-z]任意字母
  7. 检查一个字符串中是否含有abc或者adc或者aecvar reg = /a[bde]c/
4.字符串对象的方法
  1. split()方法 split()方法可以将一个字符串拆分为一个数组
    方法中传递一个正则表达式为参数,这样会根据正则表达式去拆分字符串 javascript var str = "1a2b3c4d5e6f7" var result = str.split(/[A-z]/); //result成为1,2,3,4,5,6,7的一个数组

  2. search()方法 -search()可以搜索字符串中是否含有指定的内容 -如果搜索到,则会返回第一次出现的index,否则返回-1 -让他接受一个正则表达式作为参数,根据正则表达式去检索

  3. match()方法

-可以根据正则表达式,从一个字符串中将符合的条件内容提取出来
-默认下,match只会找到第一个符合要求的内容,找到以后就停止,但是可以设置正则表达式为全局匹配,这样就会匹配到所有的内容

var str = "1a2b3c4d5e6f7;
result = str.match(/[A-z]/gi);//可以为一个正则表达式设置多个匹配模式,g和i的顺序没有影响
console.log(result);
//输出a,b,c,d,e,f的数组

  1. replace()方法
    -replace可以将字符串中指定内容替换为新的内容
    -参数:
    1.被替换的内容,可以接受一个正则表达式作为参数
    2.新的内容
    -默认只会替换一个,全局模式
5.量词
  • 通过量词可以设置一个内容出现的次数
  • 量词只对它前面的一个内容起作用
  • {n} 正好出现n次
  • {m,n} 出现m-n次
  • {m,}m次以上
    • 至少一个,相当于{1,}
    • 0个或者多个,相当于{0,}
  • ?0个或者1个,相当于{0,1}
6.例子

手机号码规则:
1 5 012312312
1.以1开头
2.第二位3-9任意数字
3.三位以后任意数字9个

  1. ^1
  2. [3-9]
  3. [0-9]{9}$

其中^是以开始
$以什么结束
没有这两个就是在一堆中匹配这些

var phoneStr = "15012312312";
var phoneReg = /^1[3-9][0-9]{9}$/;
console.log(phoneReg.test(phoneStr));

详细参考菜鸟教程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值