• charAt(index):返回指定索引处的字符串,若没找着,返回空
  • charCodeAt(index):返回指定索引处的字符的Unicode值
    1
    2
    3
    //toLowerCase()转换成小写toUpperCase()转换成大写
    var x ="a".toLowercase().charCodeAt(0)
    //x=97
  • concat(str1,str2,.):连接多个字符串,返回连接后字符串副本,纯函数(和数组一样的用法)
  • fromCharCode():将Unicode值转换成实际字符串
    1
    2
    String.fromCharCode(97)
    //返回"a"
  • indexOf(str):返回str在父串中第一次出现的位置,若没有返回-1
  • lastIndexOf(str):返回str在父串中最后一次出现的位置,若没有返回-1
  • match(regex):搜索字符串,返回正则表达式的所有匹配
  • search(regex):基于正则表达式搜索字符串,返回第一个匹配的位置
  • slice(start,,end):返回字符索引在start和end(不含)之间的子串
  • split(sep,l1imit):将字符串分割为字符数组,limit为从头开始执行分割的最大数量
  • substr(start,length):从字符索引start的位置开始,返回长度为length的子串
  • substring(from,to):返回字符索引在from和to(不含)之间的子串,和slice几乎相同,但它允许from>to,不
    支持负参数
  • toLowerCase0:将字符串转换为小写
  • toUpperCase():将字符串转换为大写
  • valueOf0:返回原始字符串值
  • toString)把Number对象转换为字符串,返回结果
    {}的valueOf结果为,toString的结果为”[object Object]”
    []的valueOf结果为0,toString的结果为”
  • str.codePointAt(pos)返回pos位置的字符编码
    1
    2
    3
    //不同的字母有不同的代码
    alert("z".codePointAt(0));//122
    alert("Z".codePointAt(0));//90
  • String.fromCodePoint(code)通过code创建字符
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    alert(String.fromCodePoint(90));//Z
    //八u后跟十六进制代码,通过代码添加Unicode字符
    //在十六进制系统中90为5a
    alert('\u005a');//Z
    'a'>'Z
    因为字符通过数字代码比较,ā(97)>Z(90)
    //英文是否大写
    function upperCase(num){
    var reg =/[A-Z]+$/;
    return reg.test(num);
    }
    replace
    不会修改原字符串!
    第二个参数传入要替换的目标字符串,replace只会匹配一次
    第二个参数也可传入一个函数,若原始字符串中有个我们查找的字符串,函数就会执行次,且函数返回一个字符
    串,来替换每次匹配到的字符串
    参数
    $&
    $&适用于没有子表达式的情况
    1
    2
    3
    var sStr='讨论一下正则表达式中的replacel的用法'
    sStr.replace(/正则表达式/'《$&》');
    //得到:"讨论一下《正则表达式》中的replace的用法"
    $
    匹配字符串左边的所有字符
    1
    2
    3
    var sStr='讨论一下正则表达式中的replace的用法'
    sStr.replace(/正则表达式/'《$`》');
    //得到:"讨论一下《讨论一下》中的replacel的用法"
    $’
    匹配字符串右边的所有字符
    1
    2
    3
    var sStra='讨论-下正则表达式中的replace的用法'
    sStr.replace(/正则表达式/"《$'》");
    /得到:"讨论一下《中的replacel的用法》中的replacel的用法"
    123,4..n
    依次匹配子表达式
    1
    2
    3
    var sStr='讨论一下正则表达式中的replace的用法'
    sStr.replace(/(正则)(.+?)(式)/"《$1》$2<$3>");
    //得到:"讨论一下《正则》表达<式>中的replace的用法"
    函数
    1
    2
    3
    4
    5
    var sStr='讨论一下正则表达式中的replacel的用法'
    sStr.replace(/(正则).+?(式)/function(){
    console.log(arguments);
    });
    /["正则表达式""正则""式"4"讨论一下正则表达式中的replace的用法"]
    参数分别为
    。匹配到的字符串
    ·若正则使用了分组匹配就是多个,否则无此参数
    ·匹配字符串的索引位置
    ·原始字符串
    arguments是当前函数的内置属性,指代当前匹配的参数伪数组。
    或者使用命名形参的方式:
    1
    2
    3
    4
    5
    var sStr='讨论一下正则表达式中的replace的正则表达式用法'
    sStr.replace(/(正则).+?(式)/g,function($1){
    console.log($1);
    return $1 +'a';
    });
    用法
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    str=str.replace(八s*/g);//去除字符串内所有的空格\s匹配任何空白字符。(空格,制表符,换行符)
    str=str.replace(/\s*|\s*$/g,"");//去除字符串内首尾空格
    str=str.replace(/\s*/,"");//去除字符串左侧空格
    str=str.replace(/八s*&/,"");//去除字符串右侧空格
    name "Doe,John";
    let a=name.replace(/(\w+)\s*,\s*(\w+)/,"$2 $1");
    console.log(a)
    //John Doe
    /首字母大写
    let name ='aaa bbb ccc';
    let uw=name.replace(/\b\w+\b/g,function(word){
    return word.substring(0,1).toUppercase()+word.substring(1);}
    )

str.trim()
r0删除字符串两端的空白字符并返回,不影响原来字符串本身,返回一个新的字符串*
缺陷:只能去除字符串两端的空格,不能去除中间的空格
截取字符串
substring()
substring0用于提取字符串中介于两个指定下标之间的字符
substring(start,stop)
·st妇t:一个非负整数,指要提取的子串的第一个字符在字符串中的位置,必需填写
·soP:一个非负整数,比要提取的子串的最后一个字符在字符串上的位置多1,可写可不写,如果不写则返回的子串会一直到字符串的结尾
该字符串的长度为stop-start
如果参数start与stop相等,则该方法返回的就是一个空串,如果start比stoP大,那么该方法在提取子串之前会先交换这两个参数
substr()
substr(O在字符串中抽取从start下标开始的指定数目的字符
substr(start,length)
·st妇t:要截取的子串的起始下标,必须是数值。如果是负数,那么该参数从字符串的尾部开始算起的位置。也就
是说,1指字符串中最后一个字符,2指倒数第二个字符,以此类推,必需要写
·length:子串中的字符数,必须是数值。如果不填该参数,返回字符串的开始位置到结尾的字符。如果length为
0或者负数,将返回一个空字符串
split()
split(0把一个字符串分割成字符串数组
stringObject.split(separator,howmany)
separator:字符串或正则表达式,从该参数指定的地方分割字符串。(必须要填写)
howmany:指返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。(可选)