javascript_core_05之正则表达式

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个字符;

posted @ 2016-09-20 22:27  Jupiter258  阅读(304)  评论(0编辑  收藏  举报