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(); //返回一个新字符串。使用本地化的规则,把这个字符串中的所有字母,转换成小写格式。主要用于土耳其语。
2015-03-22——js常用的String方法的更多相关文章
- JS常用时间处理方法
这里会扩展一些JS常用时间处理方法,内置时间对象的方法不再赘述 -- 传送门:http://www.w3school.com.cn/js/jsref_obj_date.asp 时间格式化 -- 转换为 ...
- 【Java】Java中常用的String方法
本文转载于:java中常用的String方法 1 length()字符串的长度 String a = "Hello Word!"; System.out.println(a.len ...
- JS常用字符串处理方法应用总结
这篇文章主要总结了JS常用字符串的处理方法,需要的朋友可以参考下 1.indexOf()方法,从前往后查找字符串位置,大小写敏感,从0开始计数.同理,lastIndexOf() 方法从后往前,两个 ...
- js常用字符串处理方法
JS自带函数concat将两个或多个字符的文本组合起来,返回一个新的字符串.var a = "hello";var b = ",world";var c = a ...
- js常用几种类方法实现
js定义类方法的常用几种定义 1 定义方法,方法中包含实现 function createCORSRequest() { var xhr = new XMLHttpRequest(); xhr.onl ...
- JavaScript基础 -- js常用内置方法和对象
JS中常用的内置函数如下: 1.eval(str):计算表达式的结果. 2.parseInt(str,n):将符串转换成整数数字形式(可指定几进制). 3.parseFloat(str):将字符串转换 ...
- Java基础-常用的String方法
先从String的new的方式 说起 这是面试题里面经常出现的 算是老套路之一 就是 比较下列两个的变化 两种实例化的区别 第一种String name1 = "好人";Strin ...
- js常用的原生方法
JavaScript pow() 方法 pow() 方法可返回 x 的 y 次幂的值 语法 Math.pow(x,y) 参数 描述 x 必需.底数.必须是数字. y 必需.幂数.必须是数字. 返回值 ...
- js常用字符处理方法
JS自带函数concat将两个或多个字符的文本组合起来,返回一个新的字符串.var a = "hello";var b = ",world";var c = a ...
随机推荐
- Atitit.提升软件Web应用程序 app性能的方法原理 h5 js java c# php python android .net
Atitit.提升软件Web应用程序 app性能的方法原理 h5 js java c# php python android .net 1. 提升单例有能力的1 2. 减少工作数量2 2.1. 减少距 ...
- maven添加额外archetype
用Eclipse + m2e 插件新建maven项目时发现archetype太少了,网上搜索如何添加额外的archetype. http://maven.apache.org/archetype/ma ...
- BASE64 编码解码
/// <summary> /// Base64编码 /// </summary> /// <param name="data"></pa ...
- 说说Java中的资源文件的读取
最近在看spring的资源获取时发现JDK里存在几种不同方式的资源获取,因比较混乱特地总结起来帮助和我一样混乱的人理解.下面是我项目的类结构图,在 src/main/java 下有两个类 Resour ...
- spring-pool.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- java:eclipse-tomcat 配置
计划开始学习java.第一步 1.在servers窗口中新建server 2.弹出的界面选择对应的tomcat版本 3.这里是关键,已存在的项目不要选择过去,否则最后生成的server配置无法修改se ...
- Linux下搭建Zookeeper环境
Zookeeper 是 Google 的 Chubby一个开源的实现,是 Hadoop 的分布式协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等. 其工作原 ...
- datagrid 溢出文本显示省略号
.datagrid-cell, .datagrid-cell-group, .datagrid-header-rownumber, .datagrid-cell-rownumber{ -o-text- ...
- HTML 中框架、层的运用
本章目标:掌握框架结构<frameset><frame><iframe> 掌握组织元素:span和div 本章重点:框架结构<frameset>< ...
- Java 和因特网
既然Java 不过另一种类型的程序设计语言,大家可能会奇怪它为什么值得如此重视,为什么还有这么多的人 认为它是计算机程序设计的一个里程碑呢?如果您来自一个传统的程序设计背景,那么答案在刚开始的时候 并 ...