• JS字符串常用方法总结


    动态方法:1、str.charAt(index);  返回子字符串,index为字符串下标,index取值范围[0,str.length-1]

    动态方法:2、str.charCodeAt(index);  返回子字符串的unicode编码,index取值范围同上

    静态方法:3、String.fromCharCode(num1,num2,...,numN);  根据unicode编码返回字符串

    【小应用】:只允许输入数字检测

    复制代码
    var str = $("input").val();
    

    if(detectNum(str)) {   alert("是数字"); } function detectNum(str1) {   var n = 0;   for(var i=0;i<str1.length;i++)   {     n=str1.charCodeAt(i);     if(n<48 || n>57)     {       return false;     }   }   return true; }
    复制代码

    4、str.indexOf(searchString,startIndex);  返回子字符串第一次出现的位置,从startIndex开始查找,找不到时返回-1

    5、str.lastIndexOf(searchString,startIndex);  从由往左找子字符串,找不到时返回-1

    由于以上两个方法只能返回1次,当需要将一段字符串里的所有searchString出现的位置都查找出来时,这样做:

    复制代码
    var str = "........";
    var s = "妙味";
    var i = 0;
    
    for( ; str.indexOf(s,i) != -1 ; )
    {   console.log(str.indexOf(s,i));   i = str.indexOf(s,i) + s.length; }
    复制代码

    6、字符串之间的比较:比较第一个字符的unicode编码值,第一个字符要是相同,就比较第二个,依次往下

      '10000' < '2'   1的unicode值比2的unicode值小  true

      '10000' > 2    转成数字比较  true

    7、截取字符串

      str.substring(start,end);  两个参数都为正数,返回值:[start,end) 也就是说返回从start到end-1的字符

      str.slice(start,end);  两个参数可正可负,负值代表从右截取,返回值:[start,end) 也就是说返回从start到end-1的字符

      不建议用:str.substr(start,length);  start参数可正可负,负数代表从右截取

      除了 slice() 和 substr() 方法里的负值是代表从右截取,其他方法里的负值一律作为0处理

      【引申】:截取数组

      arr.slice(start,end);  两个参数可正可负,负值代表从右截取,返回值:[start,end) 也就是说返回从start到end-1的字符

      【小应用】:开关的写法

    复制代码
    var onOff = true;
    
    $("button").click(function()
    {   if()   {   }else{   }   onOff = !onOff; });
    复制代码

    8、字符串分割成数组

      str.split(separator,limit);  参数1指定字符串或正则,参照2指定数组的最大长度

      例:str.split("");  每个字符都被分割  ['','','','']

        str.split();    整个字符串放到数组里  ['']

      【引申】:数组变成字符串

        arr.join(分隔符)      以,连接

        arr.join('')            无缝连接

        arr.join('-')          以-连接

        arr.join('<span>' + str + '</span>')       以表达式连接

    9、str.replace(rgExp/substr,replaceText)   返回替换后的字符串

    10、str.match(rgExp);  正则匹配

  • 相关阅读:
    codeforces 363B
    hdu 1075 字典树
    D
    C A Simple Job
    Washing Plates 贪心
    HDU 4143 A Simple Problem 分解因式
    ACdream 1236 Burning Bridges 割边 + 去重边
    E. Beautiful Subarrays 字典树
    反素数 -- 数学
    Codeforces Beta Round #79 (Div. 1 Only) B. Buses 树状数组
  • 原文地址:https://www.cnblogs.com/wws-bk/p/9770738.html
Copyright © 2020-2023  润新知