美文网首页
JavaScript 八、字符串 正则

JavaScript 八、字符串 正则

作者: e5eb668e07a1 | 来源:发表于2018-05-20 19:11 被阅读0次

    一、字符串

    1.字符串的特点:

    同数组一样,字符串也有下标和长度这两个属性,并且字符串遍历也用for

    但不同的是,获取字符串中制定位置的字符用

    str.charAt(i)   //str变量名,i表示字符串中的下标

    例:

                                  var str='no zuo no die';

    console.log(str.length);//获取字符串的长度

    //遍历字符串

         for(var i=0;i

       //获取字符串中的元素

          console.log(str.charAt(i));

       //获取指定位置字符的unicode号

         console.log(str.charCodeAt(i));

         }

    2.字符串中的API:所有字符串中的API都无权修改原字符串,必须返回新字符串

    1)toUpperCase();转大写    //案例见demo02  demo03

    2) toLowerCase();转小写    //案例见demo02  demo03

    3) slice(starti,endi+1);截取  //案例见demo04

    4)concat(); 拼接             //案例见demo05

    5) substring(starti,endi+1);截取 用法同slice  只是不支持负数参数

    6) substr(starti,n);截取从starti开始的n个字符  //案例见demo07

    * 7) indexOf('关键词',starti);检索一个固定关键词出现的位置  

    从starti开始,查找下一个关键词出现的位置

    如果找不到,返回-1

    如果不写starti,默认从0开始找

    案例见demo08

    * 8) lastIndexOf('关键词',starti);检索上一个固定关键词出现的位置

    从str中fromi位置开始查找前一个"关键词"出现的位置

    如果找不到,返回-1

    简写:省略fromi, 表示从末尾开始找

    何时:只要查找最后一个xxxx

    二、正则表达式(Regular Expression):

    1.定义:  规定字符串中出现规律的规则.用来检某个字符串是否符合规则或检测字符串

    中是否包含符合规定的子字符串

    2.如何声明一个正则表达式

                        var reg=/ /;

    var reg=new RegExp(/正则表达式/);

    验证是否正确用reg.test(str);  //reg代表正则表达式,str代表字符串

    语法:

    1.最简单的正则就是字符集原文 案例见demo10

    2.字符集:规定一位字符可用的备选列表 [备选字符列表]   案例见demo10

    3.如果字符列表中部分字符连续就可以用-省略

    一位大写字母:[A-Z]

    一位小写字母:[a-z]

    一位字母:[A-Za-z]

    一位数字:[0-9]

    4.除了[^xxx]表示除了xxx都行 [^]表示除了

    5.预定义字符集:对部分常用字符集的简化  案例见demo11

    一位数字:\d===>[0-9]

    一位字母、数字、下划线\w===>[A-Za-z0-9_字符                          

    一位空字符(空格、换行 tab):\s

    .匹配除回车和换行以外的所有字符

    6.量词:专门规定一个字符出现次数的规则

    有明确数量限制:

    {m,n}至少出现m次,最多出现n次

    {m,}至少出现m次,多了不限

    {m}必须出现m次  

    没有明确数量限制:

    ?可有可无,最多一次

    *可有可无,多了不限

    +至少一次,多了不限

    练习:

    1.身份证号的正则

    前17位为数字,最后一位可以为数字或x或X

                                   /^\d{17}[xX]$/

    7.分组和选择

    分组:将多个字符集用()(圆括号)包裹为一组

    选择:其实就是程序中的或者 |

    规则1|规则2  只要满足其一即可

    手机号:

    +86或0086? 可有可无,最多一次

    空字符可有可无,多了不限

         1

    在3,4,5,7,8,9之中挑一个

    9位数字

        ^(\+86|0086)?\s*1[345789]\d{9}$

    相关文章

      网友评论

          本文标题:JavaScript 八、字符串 正则

          本文链接:https://www.haomeiwen.com/subject/hritjftx.html