zoukankan      html  css  js  c++  java
  • 字符串、正则

    字符串的一些方法:


    【IE7下不兼容方括号取下标,可以使用charAt()】

    1.charAt(index) : 【根据下标取字符串】参数里面传递字符的下标

    str.charAt(1);

     

    2.charCodeAt(index) : 【根据下标取 字符的编码】


    ------------------------------------------------------------

    4.search() :【返回字符的下标】 没有则返回-1。


    3.indexOf(): 【返回字符的下标】查找到第一个满足字符的要求的内容的时候,就不往下面查找了;查找不到,返回-1

    alert(str.indexOf('a'));

    4.lastIndexOf() : 【从后往前查找】先查找到对应的字符,再数下标

    alert(str.lastIndexOf('a'));


    ------------------------------------------------------------


    5.substring(a,b) :【截取字符串】 开始位置,结束位置,包头不包尾;为一个参数的时候,从开始位置截取到最后。 返回的截取后的字符串,原字符串不变

    str.substring(3,6);
    str.substring(3);

    6.substr(a,b) : 【截取字符串】 开始位置,截取个数;【当已知截取个数时使用】


    7.slice(a,b) :【截取字符串】 开始位置,结束位置,包头不包尾;【当第二个参数是负时从后往前数】
    var test = 'hello world';
    test.slice(3,-4); //lo w


    ------------------------------------------------------------

    8.split() :【分割字符串】可以将字符串根据某个字符分割为 数组

    str1.split('-');

    ------------------------------------------------------------

    10.toLowerCase方法返回一个字符串副本,该字符串中的字母被转换成小写。
    str.toLowerCase();


    11.toUpperCase方法返回一个字符串副本,该字符串中的所有字母都被转换为大写字母。
    str.toUpperCase();

    12.toCapitalCase

    ------------------------------------------------------------
    13.trim IE8一下没有此方法,高级浏览器有。可以自己扩充:


    String.prototype.trim = String.prototype.trim || function() {

    return this.replace(/(^s*)|(s*$)/g,'');
    }

     

     

    ------------------------------------------------------------

    字符串的比较:

    从第一个字符开始比较,第一个就大了,后面就不用比了;
    所有的小写字母都是大于大写字母的(ASCII表);
    如果字符串的数字和number类型的数字比较,会将字符串的数字转化为number的数字,再进行比较;

    ------------------------------------------------------------

    经常配合正则使用的方法:

     

    1. match() :把匹配的字符串放到一个数组中。默认情况下只捕获一个到数组中,正则表达式有全局的属性时(添加参数g),会捕获所有结果到数组中。

    "abchelloasdasdhelloasd".match(/hello/g); // ["hello","hello"]


    2. test():测试给定的字符串是否满足正则表达式,返回值是bool类型的,只有真和假,如果只是单纯的判断,不需要其他的处理,可以使用尤其是验证时。

    /hello/.test("abchello"); // true

     

    3. replace("oldStr","newStr") :【找到oldStr替换为newStr】

    str.replace(条件,执行函数) 满足条件的每条数据都执行一次函数

    str.replace(/{{w+}}/g, function(s){
    console.log (s);
    })

     

    ------------------------------------------------------------


    ^ 匹配行首
    $ 匹配行尾

    * 任意次【0+】
    + 匹配前面元字符1次或多次【1+】
    ? 匹配前面元字符0次或1次【】

    {n} 精确匹配n次
    {n,} 匹配n次以上
    {n,m} 匹配n-m次

    ab|cd 匹配ab或cd
    [xyz] 匹配其中的任意一个字符
    [^xyz] 匹配除了其中的任意一个字符
    [] 匹配一个退格符
    [0-9]
    [a-z]
    [A-Z]
    [0-9a-zA-Z]

     匹配一个单词的边界
    B 匹配一个非单词的边界

    d 匹配一个数字,/d/ = /[0-9]/
    D 匹配一个非数字,/D/ = /[^0-9]/

    s 匹配一个空白字符,包括 , ,f, ,v等
    S 匹配一个非空白字符

    匹配一个换行符
    匹配一个回车符
    匹配一个制表符
    v 匹配一个重直制表符

    w 匹配字母,数字,下划线
    W 匹配非(字母,数字,下划线)

    \ 匹配""

    . 任意字符
    . 匹配'.'


    正则验证中文:/[u4e00-u9fa5]/

    i 执行大小写不敏感的匹配 【ignore】

    g 执行一个全局的匹配,简而言之,就是找到所有的匹配,而不是在找到第一个之后就停止了

    m 多行匹配

    ===========================================


    // 匹配手机号首尾,以类似“123****8901”的形式输出
    '12345678901'.replace(/(d{3})d{4}(d{4})/, '$1****$2');


    注释:正则表达式中的括号即可用于分组,同时也用于定义子模式串,在replace()方法中,参数二中可以使用$n(n为数字)来依次引用模式串中用括号定义的字串。

     

  • 相关阅读:
    Hadoop-03 基于Hadoop的JavaEE数据可视化简易案例(升级使用HBase存储结果集)
    Hadoop-02 基于Hadoop的JavaEE数据可视化简易案例
    Python03 变量
    Python01 VSCode开发环境和入门程序
    MyBatis01 Idea中搭建MyBatis开发环境
    Idea01 Idea2018中集成Tomcat9导致OutPut乱码
    MySQL-08 MySQL8.0新特性
    C11 C语言文件的读写
    C10 C语言数据结构
    C09 指针
  • 原文地址:https://www.cnblogs.com/chiangyibo/p/7061805.html
Copyright © 2011-2022 走看看