JavaScript学习-正则表达式

在这里插入图片描述

正则表达式,RegularExpression 又称规则表达式,正则表达式是对字符串操作的一种逻辑公式,用于定义一些字符串的规则

  • 计算机可以根据正则表达式,来检查一个字符串是否符合规则

  • 可以使用正则表达式将字符串中符合规则的内容提取出来

JavaScript中正则表达式的使用

创建正则表达式的对象

​ 语法: var 变量 = new RegExp( " 正则表达式 " , " 匹配模式 " );

​ 简易语法: var 变量=/正则表达式/匹配模式

var reg=/ \. /; == var reg=new RegExp("\\.");

var reg=/ \\ /; == var reg=new RegExp("\\\");

​ 使用typeof检查正则对象,会返回object

​ 最简单的用法:var reg=new RegExp(“a”); 这个正则表达式可以用来检查一个字符串中是否含有a

​ 构造函数中可以传递一个匹配模式作为第二个参数

​ i 忽略大小写 g 全局匹配模式 匹配模式的顺序无所谓

正则表达式的方法:

​ -test( ) 使用这个方法可以用来检查一个字符串是否符合正则表达式的规则,如果符合则返回true,否则返回false

​ 语法:xxx.test(yyy); xxx表示一个正则表达式的对象,yyy表示需要检查的对象

相关语法:

​ -使用“|”表示或者的意思

例如 var reg=/a|b|c/ 可用于检查字符串中是否包括字母a或者b或者c

​ -[ ]里的内容也是或的关系

例如,[ab] == a|b [ a-z ]表示任意小写字母,[ A-Z ]表示任意大写字母,[ A-z ]表示小写字母和大写字母,[ 0-9 ]表示任意数字

检查一个字符串中是否含有abc或者adc或者aec -> /a[bde]c/

​ -[^ ] 表示除了 例如 /[^ab]/ /[^0-9]/
在这里插入图片描述

-量词{ }

​ 通过量词可以设置一个内容出现的次数,量词只对它前边的一个内容起作用

​ {n}正好出现n次 {m.n}出现m-n次 {m,}m次以上 + 至少一个,相当于{1,}

​ * 0个或多个,相当于{0,} ? 0个或1个,相当于{0,1}

-检查一个字符串是否以a开头 /^a/

-检查一个字符串是否以a结尾 /a$/

-如果在正则表达式中同时使用^ $,则要求字符串必须完全符合正则表达式

​ 创建一个正则表达式,用来检查一个字符串是否是一个合法手机号

​ 规则:1.以1开头 2.第二位为3-9任意数字 3.三位 以后任意数字9个

​ ^1 [3-9] [0-9]{9}$ var phoneReg = /^1[3-9][0-9]{9}$/;

- “.” 表示任意字符,在正则表达式中使用\作为转义字符,即"\."检查字符串中是否包含.

在这里插入图片描述

例如:去除用户名str前后的空格,中间的空格不管

​ 去除开头的空格 str=str.replace("/^\s*/","");

​ 去除结尾的空格 str=str.replace("/\s*$/","");

​ 匹配开头和结尾的空格 str=str.replace("/^\s*|\s*$/g","");

例如:邮箱的正则

任意字母数字下划线 .任意字母数字下划线 @ 任意字母数字 .任意字母(2-5位) .任意字母(2-5位)

\w{3,} (\.\w+)* @ [A-z0-9]+ (.[A-z]{2,5}){1,2}

var emailReg="/^\w{3,}(\.\w+)*@[A-z0-9]+(\.[A-z]{2,5}){1,2}$/"

A-z]{2,5}){1,2}

var emailReg="/^\w{3,}(\.\w+)*@[A-z0-9]+(\.[A-z]{2,5}){1,2}$/"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值