正则表达式

2017-11-19  本文已影响0人  别让我一个人醉_1fa7

常见符号表示的含义:

正则表达式的写法

正则表达式一些属性

RegExp实例对象有五个属性

正则表达式方法

正则表达式在字符串方法中的应用

例子
'2398rufdjg9w45hgiuerhg83ghvif'.replace(/\d+/g,function(r){
    return '('+r+')';
}); //"(2398)rufdjg(9)w(45)hgiuerhg(83)ghvif"

第一个参数很简单,是匹配字符串
第二个参数是正则表达式分组内容,没有分组则没有该参数
第三个参数是匹配项在字符串中的index
第四个参数则是原字符串

全局调用

简单应用

1 去除字符串首尾空白字符

function trim(){
    var str = "abc ";
    var reg = /^\s*|\s+$/g;
    var str2 = str.replace(reg,'');
    return str2;
}
var str = trim()
console.log(str)

2 判断用户输入是否为邮箱

function isEmail(){
    var str = "123456@qq.com";
    var reg = /^\S+[@]\S+[.]\S+$/g;
    return reg.test(str)
}
var result = isEmail()
console.log(result)

3 判断用户输入的是不是手机号

function trim(){
    var str = "18012345671";
    var reg = /^1\d{10}$/
    return reg.test(str)
}
var result = trim()
console.log(result)

4 判断用户输入的是不是合法的用户名(长度6-20个字符,只能包括字母、数字、下划线)

var reg = /^\w{6,20}$/

5 判断用户输入的是不是合法密码(长度6-20个字符,只包括大写字母、小写字母、数字、下划线,且至少至少包括两种)

function isValidPassword(str){
var keyNot=/^\w{6,20}$/;
var key=/(^[A-Z]+$)|(^[a-z]+$)|(^[0-9]+$)|(^_+$)/;
if(keyNot.test(str)){
    if(key.test(str)){
        return "请输入6-20位密码(大写字母、小写字母、数字、下划线,至少包含其中两种)";
    }
    else {
        return "设置成功"
    }
}
else{
    return "请输入6-20位密码(大写字母、小写字母、数字、下划线,至少包含其中两种)"
}
}

6 写一个正则表达式,得到如下字符串里所有的颜色

var subj = "color: #121212; background-color: #AA00ef; width: 12px; bad-colors: f#fddee #fd2 "
var reg = /#[0-9a-zA-Z]{6}/g

7 下面代码输出什么? 为什么? 改写代码,让其输出['hunger', 'world'].

var str = 'hello  "hunger" , hello "world"';
var pat =  /".*"/g;
str.match(pat);
///////输出[""hunger" , hello "world""]
///////原因是. 匹配除换行和行结束符外的任意单个字符,而 *是贪婪模式,在满足条件的情况下,会尽可能多的匹配
var str = ' hello "hunger" , hello "world" ';
var pat = /".*?"/g;
str.match(pat);    //["hunger", "world"]
上一篇 下一篇

猜你喜欢

热点阅读