正则表达式(简朴易懂篇)

又到了跳槽高峰期了,想跳槽的小伙伴们一定已最先做准备事情了吧,我也不破例,哈哈哈!
这里花了几天温习正则表达式,写了这篇文章和人人一同回想回想这简朴易忘的正则吧。

正则表达式基础语法

一、建立JavaScript正则(RegExp)对象

1. var reg = RegExp('s');
    
2. var reg = /s/;  // 简写体式格局 引荐运用 不能为空 不然会以为是解释

二、预定义符

最先前先看一些标记表达的意义才好协助你对下面的例子能够敏捷的明白

s : 空格
S : 非空格
d : 数字
D : 非数字
w : 字符
W : 非字符
i : 不辨别大小写
g : 全局婚配(平常正则找到第一个相符前提的就会住手,在后面加上这个相符就会通知正则继承往下不要停)
| : 或
. : 恣意字符
b : 自力的部份 ( 肇端,完毕,空格 )
B : 非自力的部份
n : 反复的某个子项,比方

 var reg = /(a)(b)(c)\1/; //=> abca 反复了a子项

如需运用真正的标记比方“.”,只需增加即可,如\.

三、经常使用的几个要领

1. test() => 在字符串中查找相符正则指定的内容,若找到返回true,不然返回false
    // 用法:正则.test(字符串)
    
var data = '123456789987654321';

var reg = /\d/;      //  \d这里代表数字

if( reg.test(str) ){  

    console.log('内容为数字');
    console.log(reg.test(str)) // 返回 true
    
}
     
2. match() => 在字符串中查询相符正则指定的内容,胜利则返回内容(数组花样),不然返回null
// 用法:字符串.match(正则)

var data = '123456mple789Mple875654';

var reg = /mple/gi;

console.log(data.match(reg)); // mple,Mple
3. search() => 在字符串中查询相符正则指定的内容,胜利找到则返回当前内容的位置从0最先(如不止一个内容相符正则前提,则返回第一个找到的位置),假如没找到则返回-1

// 用法:字符串.search(正则)

var data = '1234mple56789Mple987mple654321';

var reg = /mple/gi;

console.log(data.search(reg)); // 4

4. replace() => 在字符串中查询相符正则指定的内容,查找到则替代对应内容并返回替代后的内容


// 用法:字符串.replace(正则,新的字符串/回调函数)

var data = '啦啦啦~一大堆啦啦啦';

var reg = /啦/g;

var rep = data.replace(reg,function(data){
    
    var ne = '';
    
    for(var i=0; i<data.length; i++){
        
        ne += '*';
        
    }
    
    return ne;
    
});

console.log(rep);
5. exec() => 查找并返回当前的婚配效果,以数组的情势返回 
//用法:正则.exec(字符串)

var data = "1234mple5678mple99876mple543Mple21";

var reg = /mple/ig;

var s = reg.exec(data)

console.log(s.index);  //4
6. split() = 正则支解字符串
7. sort():数组中的排序要领,根据ACALL码举行排序
8. join():数组中的要领,把数组转换为字符串

var data = '4445554654123156489151321456';

var arr = data.split('');
data = arr.sort().join('');
console.log(data);

四、经常使用量词

{n,m} : 最少涌现n次,最多m次

{n,} : 最少n次

* : 恣意次 相当于{0,}

? :零次或一次 相当于{0,1}

+ : 查找的效果最少涌现一次或恣意次 {1,}

{n} : 恰好n次

末了来个例子明白明白,推断QQ号

HTML


<input class="qq" type="text" placeholder="请输入QQ号">
<button type="button" class="sub">检测</button>

正则


//先来看看我们一样平常登录的QQ号有哪些性子

1 首位一定不是为0 

2 必需是5-10位的数字

var oInput = document.querySelector('.qq');
var oSub = document.querySelector('.sub');
var reg = /^[1-9]\d{4,9}$/;
//为了防备末了几位数涌现字母abc之类的状况,所以须要增加$举行尾数限定
//所以末了的逻辑是如许的,首位是0-9,接着是4-9位的数字范例。
oSub.onclick = function(){
    if( reg.test(oInput.value) ){
        alert('检测胜利');
    }else{
        alert('账户不存在');
    }

};

正则的基础运用就引见到这了,自创了这篇文章也分享给人人,愿望人人有所收成

有民众号啦!!!迎接关注,不定期引荐前端手艺!!!

《正则表达式(简朴易懂篇)》

    原文作者:阁主
    原文地址: https://segmentfault.com/a/1190000008197229
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞