js中的正则表达式

正则表达式 是一个对象
功能和字符串一样,都是用来对字符串进行【模式匹配】和【文本检索】与【替换】。
正则表达式能替代字符串去做一些复杂的操作,而且做的比字符串还要漂亮
【注】正则表达式可以理解成一个super String。

正则表达式声明

1、通过new来声明
        var box = new RegExp("box", "ig");
        第一个参数  传入的是生成正则表达式的字符串
        第二个参数  传入修饰符
                            i 忽略大小写
                            g 全局匹配
                            m 换行匹配
                            
2、省略new
        var box = RegExp("box", "ig");
        
3、可以通过正则常量赋值
        var box = /box/ig;

正则表达式的方法

            test
                格式:正则.test(字符串)
                功能:在字符串中匹配正则是否存在。
                返回值:如果匹配成功返回true,否则返回false
            exec
                格式:正则.exec(字符串)
                功能:在字符串中匹配正则是否存在。
                返回值:如果匹配成功,返回,匹配成功字符串的数组,
                        如果匹配失败返回null。

在字符串的函数中使用正则

match()
格式:字符串.match(正则)
功能:在字符串中匹配正则是否存在。
返回值:如果匹配成功,返回匹配成功字符串的数组,
如果匹配失败返回null。
例:

			    var str = 'This is a Box';
                var box = /box/i;
                alert(str.match(box));

repalce 字符串替换
格式:str.replace(oldStr/正则, newStr);
返回值:替换完成的新字符串。
例:

		var str = "how are are aRe you";
        var box = /are/gi;
        var newStr = str.replace(box, "old are");
        alert(newStr);

search 通过内容查找下标
格式:字符串.search(正则);
返回值:查找到的下标
-1 没有查找到
例:

 var str = "how aRe are are aRe you";
                var box = /are/i;
                alert(str.search(box));

split 通过分割符将字符串分割成数组
功能:字符串.split(分割符/正则)
返回值:数组,放着用分割符分割完毕的子串。
例:

 			   var str = "IAamABoy";
               var arr = str.split(/A/i);
               alert(arr);

元字符:正则表达式元字符是包含特殊含义的字符。它们有一些特殊功能,可以控制匹配模式的方式。

单个字符的元字符

在这里插入代码片

       .             匹配换行符以外的任意字符
        [a-z]       限定匹配单个字符的范围
        [a-zA-Z0-9_]  限定匹配单个字符的范围是数字、字母、下划线
        [^0-9]    限定匹配单个字在这里插入代码片符的范围,除这个范围外的字符
        \w          限定匹配单个字符的范围是数字、字母、下划线
        \W [^a-zA-Z0-9_] 限定匹配单个字符的范围是非数字、字母、下划线
        \d          限定匹配单个字符的范围是数字
        \D          限定匹配单个字符的范围是非数字
例:var str = "gaogle";
    var box = /g\dogle/;
    alert(box.test(str));

空白字符
\s 可以匹配一个任意的空白字符
\S 可以匹配一个任意的非空白字符

锚字符
^ 限定行首匹配
$ 限定行尾匹配
【注】如果同时加行首和行尾,那么字符串只能是这个正则。

重复字符(x代表的是单个字符)
x? 匹配1个或者0个x字符
x+ 匹配至少一个x字符
x* 匹配任意个x字符
x{m,n} 匹配最多n个x字符,最少m个x字符
x{m}匹配m个字符
(abc)+ 用小括号括起来多个字符,那么这多个字符,会被当做一个字符匹配

替代字符
google|baidu|bing 可以匹配谷歌、百度和必应中的任意一个

正则表达式的书写
例:

        if(/^\d+$/.test(oValue) || /^[a-z]+$/.test(oValue) || /^[A-Z]+$/.test(oValue)){

        }else if(/\d/.test(oValue) && /[a-z]+/.test(oValue) && /[A-Z]+/.test(oValue)){
           
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值