JS正则表达式中的量词

n{X}:匹配包含X个n的序列的字符串

n{X,Y}:匹配包含X至Y个n的序列的字符串

n{X,}:匹配至少包含 X 个 n 的序列的字符串。

n*:匹配任何包含零个或多个 n 的字符串。(一夫多妻制)

n?:匹配任何包含零个或一个 n 的字符串。(一夫一妻制)

n+:匹配任何至少包含一个 n 的字符串。(程序员的电脑)

这种重复匹配不定次数的表达式在匹配过程中,总是尽可能多的匹配。这种匹配模式为贪婪模式。如果?写在量词的后面,则表示禁止贪婪。

量词的更多细节见下面链接:

http://www.w3school.com.cn/jsref/jsref_obj_regexp.asp

正则表达式中的量词常用于验证码的输入。

// var reg = /您的验证码是\d{6},请尽快输入/;
// var reg = /您的验证码是\d{4,6},请尽快输入/;
// var reg = /您的验证码是\d{4,},请尽快输入/;
// var reg = /您的验证码是\d*,请尽快输入/;
// var reg = /您的验证码是\d?,请尽快输入/;
// var reg = /您的验证码是\d+,请尽快输入/;
var str = "您的验证码是564732,请尽快输入";
var result = reg.test(str);
// console.log(result);
if(result){
    console.log("验证码输入成功");
}else{
    console.log("验证码输入失败");
}

匹配QQ号和身份证号:

//匹配QQ号
var reg = /^[1-9]\d{4,10}$/;
var str1 = "34567";
var result1 = reg.exec(str1);
console.log(result1);

//匹配身份证号
var reg = /^[1-9]\d{16}[xX\d]$/;
var str2 = "456327187654326547";
var result2 = reg.exec(str2);
console.log(result2);

猜你喜欢

转载自blog.csdn.net/lishundi/article/details/82807641
今日推荐