海阔天空

当前时间为:
欢迎大家来到海阔天空https://www.9713job.com,广告合作以及淘宝商家推广请微信联系15357240395

2020javaweb教程之JavaScript正则表达式

未分类
2020-11-13 15:06:37
1822677238@qq.com

手机扫码查看

2020javaweb教程之JavaScript正则表达式

2020javaweb教程之JavaScript正则表达式

正则表达式

语法:
var patt=/pattern/modifiers;

如:
var re=/\w+/;

修饰符:
修饰符用于执行区分大小写和全局匹配,默认区分大小写。

i:大小写不敏感
g:全局匹配
m:多行匹配,适用于文本域

方法:

test():检索字符串中指定的值,返回Boolean值
exec():检索字符串中指定的值,返回找到的值,并确定其位置

示例:

var s="Hello World";
var reg=/wor/ig;//i为不区分大小写,g为全局匹配
document.write(reg.test(s));

document.write("<br>");

var s1="what you name";
var reg2=/name/ig;
var s2=s1.replace(reg2,"age");
document.write(s2);

表达式方法

示例:

var s3="what you name";
var reg3=/[aye]/ig;
document.write(s3.replace(reg3,"i"));
document.write("<br>");

var reg4=/[^aye]/ig;
document.write(s3.replace(reg4,"*"));
document.write("<br>");

var n1="123456789";
var reg5=/[3-7]/g;
document.write(n1.replace(reg5,"0"));
document.write("<br>");

var s4="abCdeFg";
var reg6=/[a-d]/ig;
document.write(s4.replace(reg6,"d"));
document.write("<br>");

var reg7=/[^a-d]/ig;
document.write(s4.replace(reg7,"a"));
document.write("<br>");

var reg8=/[A-Z]/ig;
document.write(s4.replace(reg8,"A"));
document.write("<br>");

var reg9=/[A-z]/ig;
document.write(s4.replace(reg9,"z"));
document.write("<br>");

var reg10=/[^acd]/ig;
document.write(s4.replace(reg10,"*"));
document.write("<br>");

var reg11=/[acd]/ig;
document.write(s4.replace(reg11,"x"));
document.write("<br>");

var s5="orange";

var reg12=/(ang|ge|ra)/ig;
document.write(reg12.test());
document.write("<br>");

var reg13=/(ang)/ig;
document.write(s5.replace(reg13,"k"));

元字符

元字符(Metacharacter)是拥有特殊含义的字符:

var s1="I can do 520";
var reg1=/./ig;
document.write(s1.replace(reg1,"o")+"<br>");

var reg2=/\w/ig;
document.write(reg2.exec(s1)+"<br>");

var reg3=/\W/ig;
document.write(reg2.exec(s1)+"<br>");

var reg4=/\d/ig;
document.write(reg4.exec(s1)+"<br>");

var reg5=/\D/ig;
document.write(reg5.exec(s1)+"<br>");

var reg6=/\s/ig;
document.write(reg6.test(s1)+"<br>");

var reg7=/\S/ig;
document.write(reg7.test(s1)+"<br>");

量词

示例:

var s1="Hello World 520";

var reg1=/o+/ig;
document.write(s1.replace(reg1,"a")+"<br>");

var reg2=/lo*/ig;
document.write(s1.replace(reg2,"a")+"<br>")

var reg3=/el?/ig;
document.write(s1.replace(reg3,"ab")+"<br>")

var reg4=/el{2}/ig;
document.write(s1.replace(reg4,"ab")+"<br>")

var reg5=/hel{2,}/ig;
document.write(s1.replace(reg5,"ab")+"<br>")

var reg6=/e{1,3}/ig;
document.write(s1.replace(reg6,"ab")+"<br>")

var s="Hello World the 123456";

var reg=/6$/ig;
document.write(s.replace(reg,"ab")+"<br>")

var reg2=/^H/ig;
document.write(s.replace(reg2,"ab")+"<br>")

 

正则表达式对象方法

exec():检索字符串中指定的值。返回找到的值,并确定其位置。
test():检索字符串中指定的值。返回 true 或 false。

var s="Hello World the 123456";

var reg=/\d{3}/ig;
document.write(reg.test(s)+"<br>")

var reg2=/\w{7}/ig;
document.write(reg2.test(s)+"<br>")

var reg3=/[A-Z]{5}/ig;
document.write(reg3.test(s)+"\t")
document.write(reg3.exec(s)+"<br>")

支持正则表达式的String对象的方法

search:检索与正则表达式相匹配的值
match:找到一个或多个正则表达式的匹配
replace:替换与正则表达式匹配的子串
split:把字符串分割为字符串数组

var s="Hello World the 123456";

var reg=/[A-z]/ig;
document.write(s.match(reg)[4]+"<br>");

var reg2=/[0-9]/ig;
document.write(s.match(reg2)[2]+"<br>");

var reg3=/\d/ig;
document.write(s.match(reg3)[5]+"<br>");

 

正则表达式实例

//匹配手机号
var reg = /^1\d{10}$/;

//匹配QQ号
var reg = /^[1-9]\d{4,10}$/;

//匹配身份证号
var reg = /^[1-9]\d{16}[Xx\d]$/;

//变量名检测(只能由字母,数字,下划线组成,且不能以数字开头,长度6-15)
var reg = /^[A-z_]\w{5,14}$/;

/*判断是否为邮箱email
验证规则: 电子邮箱的正确写法一般为: 用户名@邮箱网站.com(.cn) 

第一部分:由字母、数字、下划线、短线“-”组成

第二部分:为一个域名,域名由字母、数字、短线“-”、域名后缀组成(域名后缀一般为两位到三位。例如:com cn net现在域名有的也会大于四位)*/

 function isEmail(str){
        var reg =/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;
        return reg.test(str);
}

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注