JavaScript学习(八)正则表达式

正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。

一、正则声明
  1. 语法:

    /正则表达式主体/修饰符(可选)
    修饰符:用于执行不区分大小写和全文的搜索
    i:修饰符是用来执行不区分大小写的匹配。
    g:修饰符是用来执行全文的搜索(而不是在找到第一个就停止查找,而是找到所有的匹配)

  2. 声明格式:

    new RegExp(pattern, attributes);
    var reg2 = /hello/gi;
    pattern : 为表示表达式内容
    attributes:g,全局匹配,i不区分大小写,m执行多行匹配,用最多的为g和i

    <script type="text/javascript">
        var reg = new RegExp('hello','gi');
        var reg = /hello/gi;
    </script>
    
  3. 使用字符串方法

    在 JavaScript 中,正则表达式通常用于三个字符串方法 : search() ,replace(),replace()。
    search(regexp) 匹配字符串,并返回子串的起始位置
    replace(regexp,str) 敏感词过滤 第一个参数需要替换掉文字的正则,第二个参数换成的文字。
    match(regexp) 获取匹配规则相符的值。返回一个数组

//定义正则
var reg = /hello/gi;
//验证的字符串
var str = " world hello world! Hello kitty!";
console.log(str.search(reg));// 输出 : 7
console.log(str.match(reg)); // 输出 :Array [ "hello", "Hello" ]
console.log(str.replace(reg,'你好'));//输出: world 你好 world! 你好 kitty!

二、匹配规则
  1. 任意字符获取
//验证: [abc]中可以有一个字可以有多个字,中间为g,最后一个为[efg]任意字符
var reg = /[abc]+g[efg]/g;
var str = "abge bsc oat obt bgg cge";
document.write(str.match(reg));//取出规则相符的字符串结果输出 :  abge,bgg,cge
  1. 范围正则匹配验证 test()

    检索字符串是否符合正则规则,返回布尔值
    ^ 表示匹配数据开始
    $ 表示匹配数据结束
    * 表示匹配数据0次或多次
    + 表示匹配数据1次或多次
    ? 表示匹配数据0次或1次

     {n}|{n,}|{n,m}	
     精确匹配n次,匹配n次以及以上,匹配n-m次
    
//验证字符串是否符合正则规则,test() 符合为true ,不符合为 false
//下面中间线是或的关系
var reg = /[a-z]|[0-9]/g;
var str = "jack";
document.write(reg.test(str));//true
//下面正则含义:必须为小写字母和数字组成
var reg = /[a-z][0-9]/g;
var str = "jack";
document.write(reg.test(str));//false
  1. exec 用法

    检索字符串中的指定值,找到则返回当前值、索引、输入值,找不到返回null

var reg = /[a-z]|[0-9]/g;
var str = "jack";
document.write(reg.exec(str)); // 输出 :  j
  1. 量词的使用
	{6,16}  至少六位,最多16位
	{1,}    至少1位 最多任意次 +
	{0,1}   可有可元  ?
	{6}     正好是六位
	{1,}
	*		任意次

	^ 行首  匹配输入字符串的开始位置。
	$ 行尾  匹配输入字符串的结尾位置。
	要匹配 "^" 字符本身,请使用转义字符 "\^"
	要匹配 "$" 字符本身,请使用转义字符 "\$"

在这里插入图片描述
在这里插入图片描述

三、正则对象验证方法

在这里插入图片描述

常用正则网站

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值