美文网首页
字符串主要的操作

字符串主要的操作

作者: 哒哒DaDa | 来源:发表于2017-08-20 21:58 被阅读4次

    var str = "abcdefg";

    length——字符串长度
    var len = str.length();//->7
    
    =——字符串赋值
    var str1 = new String("Hello, String!");
    var str2 = "Hello, string!";
    
    concat——字符串连接
    var str1 = "abc";
    var str2 = "def";
    console.log(str1.concat(str2));//->"abcdef"
    
    indexOf——返回字符串中一个子串第一处出现的索引(从左到右搜索)。如果没有匹配项,返回 -1
    var str = "abcdefg";
    console.log(str.indexOf("f"));//->5
    
    lastIndexOf——返回字符串中一个子串最后一处出现的索引,如果没有匹配项,返回 -1-----lastIndexOf() 方法对大小写敏感!
    var str = "ababab";
    console.log(str.lastIndexOf("b"));//->5
    
    charAt——返回字符串指定位置的字符。
    var str = "abcdefg";
    console.log(str.charAt(2));//->"c"
    
    substring——返回字符串的一个子串,传入参数是起始位置和结束位置(不包括结束位置)
    var str = "abcdefg";
    console.log(str.substring(2,5));//->"cde"
    
    substr——返回字符串的一个子串,传入参数是起始位置和长度
    var str = "abcdefg";
    console.log(str.substr(2,4));//->"cdef"
    
    slice——提取字符串的一部分,并返回一个新字符串(与 substring 相同)
    var str = "abcdefg";
    console.log(str.slice(2,4));//->"cd"
    
    split——通过将字符串划分成子串,将一个字符串做成一个字符串数组。
    var str = "abcdefg";
    console.log(str.split(""));//->[ "a","b", "c","d", "e", "f","g"]
    
    toLowerCase——将整个字符串转成小写字母
    var str = "aAbEcdeSfg";
    console.log(str.toLowerCase());//->"aabecdesfg"
    
    toUpperCase——将整个字符串转成大写字母
    var str = "abcdefg";
    console.log(str.toUpperCase());//->"ABCDEFG"
    
    match——检查一个字符串匹配一个正则表达式内容,如果么有匹配返回 null。
    var str = "12345srt";
    var re = new RegExp(/^\d*/);//匹配任意个数字
    var result = str.match(re);
    console.log(result);//->["12345"]
    
    replace——用来查找匹配一个正则表达式的字符串,然后使用新字符串代替匹配的字符串。
    var str = "12345srt";
    var re = new RegExp(/^\d*/);
    var result = str.replace(re, "ABCD");
    console.log(result);//->"ABCDsrt"
    
    search——执行一个正则表达式匹配查找。如果查找成功,返回字符串中匹配的索引值。否则返回 -1
    var str = "ASD12345srt";
    var str1 = "ASDE";
    var re = new RegExp(/\d/);
    var result = str.search(re);
    var result1 = str1.search(re);
    console.log(result);//->3
    console.log(result1);//->-1
    

    字符串扩展(原生js对象扩展)

    获取字符数组
    String.prototype.toCharArray = function(){
      return this.split("");
    }
    var str = "123";
    console.log(str.toCharArray(4));//-> ["1","2","3"]
    
    获取N个相同的字符串
    String.prototype.repeat = function(num){
      var temArr = [];
      for(var i = 0; i < num; i++){
        temArr.push(this);
      }
      return temArr.join("");
    }
    
    var str = "123";
    console.log(str.repeat(4));//->"123123123123"
    
    去除左边空白
    String.prototype.LTrim = function(){
      return this.replace(/^\s*/g,"");
    }
    var str = "  123  ";
    console.log(str.LTrim());//-> "123  "
    
    去除右边空白
    String.prototype.RTrim = function(){
      return this.replace(/\s*$/g,"");
    }
    var str = "  123  ";
    console.log(str.RTrim());//-> "  123"
    
    去除两边空白
    String.prototype.Trim = function(){
      return this.replace(/(^\s*)|(\s*$)/g,"");
    }
    var str = "  123  ";
    console.log(str.Trim());//-> "123"
    
    合并多个空白为一个空白
    String.prototype.resetBlank = function(){
      return this.replace(/\s+/g," ");
    }
    var str = "         123           ";
    console.log(str.resetBlank());//->" 123 "
    
    测试是否为整数
    String.prototype.isInt = function(){
      if(this == "NaN") return false;
      return this == parseInt(this).toString();
    }
    var str = "234";
    var str1 = "s234s";
    console.log(str.isInt());//->true
    console.log(str1.isInt());//->false
    
    保留数字
    String.prototype.getNum = function(){
      return this.replace(/[^\d]/g,"");
    }
    var str = "srt123set";
    console.log(str.getNum());//->"123"
    
    保留字母
    String.prototype.getEn = function(){
      return this.replace(/[^a-zA-Z]/g,"");
    }
    var str = "srt123set";
    console.log(str.getEn());//->"srtset"
    
    保留中文
    String.prototype.getCn = function(){
      return this.replace(/[^\u4e00-\u9fa5\uf900-\ufa2d]/g,"");
    }
    var str = "srt12测试45哈哈346哈哈";
    console.log(str.getCn());//->"测试哈哈哈哈"
    
    得到字节长度
    String.prototype.getRealLength = function(){
      return this.replace(/[^\x00-\xff]/g,"--").length;
    }
    var str = "srt测试45";
    console.log(str.getRealLength());//->9
    //一个汉字为两个字节
    
    从左截取指定长度的子串
    String.prototype.right = function(n){
      return this.slice(0, n);
    }
    var str = "srt测试45";
    console.log(str.right(3));//->"srt"
    
    从右截取指定长度的子串
    String.prototype.right = function(n){
      return this.slice(this.length-n);
    }
    var str = "srt测试45";
    console.log(str.right(3));//->"试45"
    

    相关文章

      网友评论

          本文标题:字符串主要的操作

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