javascript正则表达式

本文深入探讨正则表达式的创建、组成及应用,通过实例讲解如何利用正则进行字符串的验证、查询与替换,特别关注量词、边界符及特殊字符的使用,适合初学者及进阶学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

// 正则:
// 正确的规则:
// 字符的正则的规则,所以说,正则使用来操作字符串的

    // 正则对字符串提供的三大功能:
        // 验证: reg.test(str)
        // 查询: str.search(reg) / str.match(reg)
        // 替换: str.replace(reg,newStr);

    // 注意:哪个方法是谁的
        // 字符的方法是字符的
        // 正则的方法是正则的

    // 正则的使用:
        // 正则,其实也是一个对象类型
            // 对象了,得有方法
        // 字符串也准备一些方法用来使用正则
            // str.replace()
            // str.search()

1.正则创建
在这里插入图片描述
2. 正则的组成
// var str = “@#%^& .!@#%^&*(_123sdf123!@#”;

// replace的功能:
    // 检测符合条件的第一个字符,替换
    // 默认情况下,只能替换一个
// 元字符:有特殊含义的符号
// 通配符:.
// console.log(str.replace(/./,"啊"));
// 转义符:\
// console.log(str.replace(/\./,"啊"));
// 空白符:\s
// console.log(str.replace(/\s/,"啊"));
// console.log(str.replace(/\S/,"啊"));
// 数字:\d
// console.log(str.replace(/\d/,"啊"));
// console.log(str.replace(/\D/,"啊"));
// 数字字母下划线:\w
// console.log(str.replace(/\w/,"啊"));
// console.log(str.replace(/\W/,"啊"));

// var str = "@#$%^& .!@#$%^&*(_5127361283sdf123!@#";
// console.log(str);
// 限定符:量词:表示数量,量词的前一个匹配单位连续出现的次数
// 默认匹配1个
// console.log(str.replace(/\d/,"啊"));
// 固定次数:2
// console.log(str.replace(/\d{2}/,"啊"));
// 指定范围:2~4
// console.log(str.replace(/\d{2,4}/,"啊"));
// 指定范围:2~正无穷
// console.log(str.replace(/\d{2,}/,"啊"));
// 指定范围:1~正无穷
// console.log(str.replace(/\d+/,"啊"));


// 边界符:
// ^:正则的开头
// $:正则的结尾

3.正则的应用

// 验证一个字符是否是qq号,是true,不是false
// var str = "704206198";
// qq规则是什么?开头不能为,纯数字,5~12
// var reg = /^[1-9]\d{4,11}$/;
// console.log(reg.test(str));

// 网址:
// var str = "https://www.baidu.com";
// var str = "http://www.baidu.com";
// var str = "www.baidu.com";
// var str = "mp3.baidu.com";
// var str = "baidu.com";
// var str = "baidu.com.cn";
// var str = "126.com";

var str = "http://hao.12123.com";
var reg = /^(https?:\/\/)?([0-9a-z]{1,10}\.)?[0-9a-z]{2,9}(\.[a-z]{2,4}){1,2}$/;
console.log(reg.test(str));
// 极简原则

// var str = “y12gSD31g3@#jh1f3%^&ASj138S!@DFG6a*()s8idhjq”;
// console.log(str);
// 一行代码替换所有字母
// i:忽略大小写
// g:全局匹配
// 注意:在正则的后面的/的后面,不分先后
// console.log(str.replace(/[a-z]/ig,“啊”));

// var str = "abc123bbc2423cbc234134";
// console.log(str);
// 查询字符串中符合条件的子串,并返回成一个数组
// console.log(str.match(/bc/));
// console.log(str.match(/bc/g));
// console.log(str.match(/a|b|cbc/g));
// console.log(str.match(/(a|b|c)bc/g));


// var str = "abc1#23bbc2423cbc23afa41$%34";
// console.log(str);
// console.log(str.match(/[0-9]/));
// console.log(str.match(/[0-9]/g));
// console.log(str.match(/[0-9]+/g));
// console.log(str.match(/[^0-9]+/g));


// 友情提示:
    // 1.在使用正则的test方法做验证时,除非特殊要求,一般都是要加上开头^和结尾$,表示整体验证。不使用全局g
    // 2.在使用除了test方法做查找或匹配替换操作时,一般使用全局g,找到所有内容,而不是用开头和结尾
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值