首页 > 技术文章 > 正则表达式相关内容和用法

304979850w 2020-07-09 21:08 原文

1.为什么需要正则表达式?
简洁的代码
严谨的验证文本框中的内容
生产环境中更为常用的方式

实例:

var reg= /^\w+@\w+(\.[a-zA-Z]{2,3}){1,2}$/;
if(reg.test(email) ==false){    
    $email_prompt.html("电子邮件格式不正确,请重新输入");
    return false;
}

2.定义正则表达式

a.普通方式

语法:var reg=/表达式/附加参数;

实例:

var reg=/white/;
var reg=/white/g;

b.构造函数

语法:var reg=new RegExp("表达式","附加参数");

实例:

var reg=new RegExp("white");
var reg=new RegExp("white","g");

3.表达式的模式

a.简单模式

(只能表示具体的匹配)

var reg=/china/;
var reg=/abc8/;

b.复合模式
(可以使用通配符表达更为抽象的规则模式)

var reg=/^\w+$/;
var reg=/^\w+@\w+.[a-zA-Z]{2,3}(.[a-zA-Z]{2,3})?$/;

RegExp对象

RegExp对象的方法
exec( )
检索字符中是正则表达式的区配,返回找到的值,并确定其位置
test( )
检索字符串中指定的值,返回true或false
RegExp对象的属性
global
RegExp对象是否具有标志g,表示全局匹配
ignoreCase
RegExp对象是否具有标志i,表示不区分大小写
multiline

RegExp对象是否具有标志m,表示多行匹配

String对象

String对象的方法
match( )
找到一个或多个正则表达式的匹配
search( )
检索与正则表达式相匹配的值
replace( )
替换与正则表达式匹配的字符串
split( )
把字符串分割为字符串数组

正则表达式符号

/…/

代表一个模式的开始和结束

^

匹配字符串的开始

$

匹配字符串的结束

\s

任何空白字符

\S

任何非空白字符

\d

匹配一个数字字符,等价于[0-9]

\D

除了数字之外的任何字符,等价于[^0-9]

\w

匹配一个数字、下划线或字母字符,等价于[A-Za-z0-9_]

\W

任何非单字字符,等价于[^a-zA-z0-9_]

.

除了换行符之外的任意字符

{n}

匹配前一项n次

{n,}

匹配前一项n次,或者多次

{n,m}

匹配前一项至少n次,但是不能超过m次

*

匹配前一项0次或多次,等价于{0,}

+

匹配前一项1次或多次,等价于{1,}

匹配前一项0次或1次,也就是说前一项是可选的,等价于{0,1}

 

推荐阅读