javascript_core_05之正则表达式

本文介绍如何使用正则表达式进行字符串检索与处理,包括关键词定位、内容匹配及替换等常见操作,并提供了手机号码验证与密码强度检查等实用案例。

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

1、 检索关键词:

    ①检索固定关键词的位置:

        var i=str.indexOf(“关键词”,fromi);在str中查找fromi位置后,下一个关键词的下标位置;省略fromi,从0开始;

        var i=str.lastIndexOf(“关键词”,fromi);在str中查找fromi位置前,上一个关键词的下标位置;省略fromi从末尾开始;

    ②判断是否包含符合规则的关键词:

        var i=str.search(/正则表达式/);找到返回下标,未找到返回-1;

2、正则表达式:

    最简单的正则表达式就是关键词原文;

字符集:【字符列表】①一位字母:【A-Za-z】;②一位数字:【0-9】或者\d;③一位汉字:【\u4e00-\u9fa5】;④除了XX:【^XX】;⑤一位数字,字母,下划线:\w ó【0-9A-Za-z_】;⑥一位空字符,空格,换行,Tab:\s;⑦一位任意字符:.;

3、正则量词:

    ①{m,n}:至少m个,最多n个;②{m,}:m个以上;③{m}:必须m个;④?:0或1个;⑤*:0个或以上不限;⑥+:1个或以上不限;

4、正则选择,分组:

    ①选择:规则1|规则2;②分组:(规则1)|(规则2);

5、正则表达式示例:

    手机号:(\+86|0086)?\s*1【34578】\d{9};

    密码强度:①至少包含一位大写字母:(?!【a-z0-9】+$);②至少包含一位数字:(?!【A-Za-z】+$);③6~8位字母数字组合:【0-9A-Za-z】{6,8};

6、正则位置匹配:

    ①^:匹配字符串开头;②$:匹配字符串结尾;③\b:匹配单词边界;

7、检索操作关键词:

    ①查找一个固定关键词的位置:

        var i=str.indexOf(“关键词”,fromi);

        var i=str.lastIndexOf(“关键词”,fromi);

    ②判断是否包含符合规则的关键词:

        var i=str.search(/reg/);

    ③返回所有关键词内容:

        var kwords=str.match(/reg/i);

        * i为忽略大小写;g为全部查找;

    ④替换:str=str.replace(/reg/ig,“替换值”);不直接修改,返回新字符串;

    ⑤切割:var subs=str.split(/reg/);按reg匹配切割为多个子字符串存在subs中;

    ⑥获得指定位置字符:

        str.charAt(i);óstr【i】;

        var code=str.charCodeAt(i);ó获得i位置字符的Unicode号;

        var char=String.fromCharCode(code);ó将Unicode号转为字符;

    ⑦截取子字符串:

        str.slice(starti,endi+1);

        str.substring(starti,endi+1);不支持负数参数;

        str.substr(starti,n);从starti开始截取n个字符;

转载于:https://www.cnblogs.com/Jupiter258/p/5890728.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值