• 2015-03-22——js常用的String方法


    String

    string.charAt(pos);  //返回字符串中pos位置处的字符。如果pos小于0或大于等于string.length返回空字符串。
    模拟实现:
    Function.prototype.method = function (name, func) {
        this.prototype[name] = func;
        return this;
    };
    String.method('charAt', function (pos) {
        return this.slice(pos, pos + 1);
    });
    示例:
    var name = 'yyl yin';
    var a = name.charAt(3);
    var b = name.charAt(4);
    var c = name.charAt(8);
    var d = name.charAt(-1);
    console.log(a);
    console.log(b);
    console.log(c);
    console.log(d);
    =>''
    =>'y'
    =>''
    =>''


    string.charCodeAt(pos);  //返回字符串中pos位置处字符的字符码位。如果pos小于0或大于等于string.length返回NaN。
    示例:
    var name = 'yyl yin';
    var a = name.charCodeAt(3);
    var b = name.charCodeAt(4);
    var c = name.charCodeAt(8);
    var d = name.charCodeAt(-1);
    console.log(a);
    console.log(b);
    console.log(c);
    console.log(d);
    =>32
    =>121
    =>NaN
    =>NaN


    string.concat(string...);  //将字符串连接构成一个新的字符串。
    示例:
    var a = 'yyl';
    var b = 'good';
    var c = a.concat(b, 'boy');
    console.log(a);
    console.log(b);
    console.log(c);
    =>'yyl'
    =>'good''
    =>'yylgoodboy'


    string.indexOf(searchString, position);  //如果可以找到searchingString,返回第一个匹配字符的位置,否则返回-1。可选参数指定开始查找的位置。
    示例:
    var a = 'uyydfekjkdyj0';
    var b = a.indexOf('y');
    var c = a.indexOf('y', 2);
    var d = a.indexOf('q');
    console.log(b);
    console.log(c);
    console.log(d);
    =>1
    =>2
    =>-1


    string.lastIndexOf(searchString, position);  //与indexOf类似,只不过它是从字符串的尾部开始查找。
    示例:
    var a = 'uyydfekjkdyj0';
    var b = a.lastIndexOf('y');
    var c = a.lastIndexOf('y', 2);
    var d = a.lastIndexOf('q');
    console.log(b);
    console.log(c);
    console.log(d);
    =>10
    =>2
    =>-1


    string.localeCompare(that);  //比较两个字符串大小。如果string和that相等,返回0。如果string小于that返回-1。如果string大于that返回1。注意:小写小于大写。
    示例:
    var a = 'Abc';
    var b = 'Abc';
    var c = 'abc';
    var d = 'dd';
    var e = 'd';
    var f = 'D';
    console.log(a.localeCompare(b));
    console.log(a.localeCompare(c));
    console.log(a.localeCompare(d));
    console.log(e.localeCompare(f));
    =>0
    =>1
    =>-1
    =>-1


    string.match(regexp);  //如果没有g,其匹配结果与调用regexp.exec(string);的结果相同。如果regexp带有g,那么它生成一个包含所有匹配的数组(不包括捕获数组)。
    示例:
    var a = 'abc abc abc';
    var regexp1 = /(a)(b)(c)/;
    var regexp2 = /(a)(b)(c)/g;
    var b = a.match(regexp1);
    var c = a.match(regexp2);
    console.log(b);
    console.log(c);
    =>['abc', 'a', 'b', 'c']
    =>['abc', 'abc', 'abc']


    string.replace(searchValue, replaceValue);  //对字符串进行查找替换操作,返回新的字符串。如果正则没有g,仅仅替换第一个。如果正则有g,会替换掉所有匹配。replaceVaule可以是一个字符串或函数。
    如果replaceValue是一个字符串。字符$有特殊的含义。
    $$  替换对象:$
    $&  替换对象:整个匹配的文本
    $number  替换对象:分组捕获的文本
    $`  替换对象:匹配之前的文本
    $'  替换对象:匹配之后的文本
    示例:
    var regexp = /((d{3}))/g;
    var a = '(555)-222-1212';
    var b = a.replace(regexp, '$1');
    console.log(a);
    console.log(b);
    =>'(555)-222-1212'
    =>'555-222-1212'
    如果returnValue是一个函数,那么每遇到一次匹配,函数就被调用一次,该函数返回的字符串会被用在替换文本。传递给这个函数的第一个参数是整个被匹配的文本。第二个参数是分组1捕获的文本,以此类推。


    string.search(regexp);  //功能与indexOf类似,但是它只接受正则表达式作为参数。如果找到匹配,返回第一个匹配的首字母的位置,否则返回-1。此方法会忽略g标识。
    示例:
    var a = 'dad dvdc dd acc';
    var b = a.search(/dv/);
    console.log(a);
    console.log(b);
    =>'dad dvdc dd acc'
    =>4

    string.slice(start, end);  //复制string的一部分来构造一个新的字符串。左闭右开,[start, end)。如果start,end是负数,string.length会与其相加。end参数是可选的。
    示例:
    var a = 'abc.png';
    var b = a.slice(3);
    var c = a.slice(0, 3);
    var d = a.slice(-3);
    console.log(a);
    console.log(b);
    console.log(c);
    console.log(d);
    =>abc.png
    =>.png
    =>abc
    =>png


    string.substring(start, end);  //除了不能处理负值参数外,其它方面与slice方法一致。
    示例:
    var a = 'abc.png';
    var b = a.substring(3);
    var c = a.substring(0, 3);
    var d = a.substring(-3);
    console.log(a);
    console.log(b);
    console.log(c);
    console.log(d);
    =>abc.png
    =>.png
    =>abc
    =>abc.png


    string.substr(start, len);   //复制string的一部分来构造一个新的字符串。第二个参数传入需要复制的字符个数。如果start是负数,string.length会与其相加。
    var a = 'abc.png';
    var b = a.substr(3, 3);
    var c = a.substr(0, 11);
    var d = a.substr(-3, 3);
    console.log(a);
    console.log(b);
    console.log(c);
    console.log(d);
    =>abc.png
    =>.pn
    =>abc.png
    =>png


    string.split(separator, limit);  //将string分割成片段来创建一个字符串数组。separator可以是一个字符串或正则表达式。limit可以限制分割的片段数量。该方法会忽略g。
    当separator是一个字符串时:
    示例:
    var a = 'abcdef';
    var b = a.split('', 5);
    console.log(a);
    console.log(b);
    =>'abcdef'
    =>['a', 'b', 'c', 'd', 'e']

    var c = '|ddd|aaa|';
    var d = c.split('|');
    console.log(c);
    console.log(d);
    =>'|ddd|aaa|'
    =>['', 'ddd', 'aaa', '']

    当separator是正则表达式时:
    分组捕获的文本,会被包含在分割后的数组中。IE8及以下的版本,会在输出的数组中排除空字符串。
    示例:
    var a = '|ddd|aaa|';
    var b = a.split(/|/);
    console.log(a);
    console.log(b);
    =>'|ddd|aaa|'
    =>['', 'ddd', 'aaa', '']
    IE8:
    =>'|ddd|aaa|'
    =>['ddd', 'aaa']

    var c = '|ddd|aaa|';
    var d = c.split(/(|)/);
    console.log(c);
    console.log(d);
    =>'|ddd|aaa|'
    =>['', '|', 'ddd', '|', 'aaa', '|', '']


    string.toLowerCase();  //返回一个新字符串。这个字符串的所有字符都是小写格式。
    示例:
    var a = 'SdweA';
    var b = a.toLowerCase();
    console.log(a);
    console.log(b);
    =>'SdweA'
    =>'sdwea'


    string.toUpperCase();  //返回一个新字符串。这个字符串的所有字符都是大写格式。
    示例:
    var a = 'SdweA';
    var b = a.toUpperCase();
    console.log(a);
    console.log(b);
    =>'SdweA'
    =>'SDWEA'


    String.fromCharCode(char...);  //这是一个静态方法,根据一串数组编码返回一个字符串。
    示例:
    var a = String.fromCharCode(67, 98, 111);
    console.log(a);
    =>'Cbo'


    string.toLocaleLowerCase();  //返回一个新字符串。使用本地化的规则,把这个字符串中的所有字母,转换成小写格式。主要用于土耳其语。


    string.toLocaleUpperCase();  //返回一个新字符串。使用本地化的规则,把这个字符串中的所有字母,转换成小写格式。主要用于土耳其语。

  • 相关阅读:
    [网络]公共网络安全漏洞库: CVE / CNCVE
    [网络/SSH]OpenSSH: sshd / sftp-server / ssh-agent | ssh / scp / sftp
    [网络/WebServer/Nginx]代理模式:正向代理与反向代理
    [数据库/MySQL]解决异常:Data truncation: Truncated incorrect DOUBLE value: 'dc5'
    [Java EE]Spring Boot 与 Spring Cloud的关系/过去-现在-未来
    [Java SE]Java8新特性——默认方法
    [Java SE]javac编译时编码错误
    [灾备]独立磁盘阵列(RAID)技术
    [Nginx]安装第三方调试模块——echo | #解决异常#unknown directive “echo”
    [Linux]常用命令之【source】
  • 原文地址:https://www.cnblogs.com/bugong/p/4357548.html
Copyright © 2020-2023  润新知