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 ...
随机推荐
- lantin1
Latin1是ISO-8859-1的别名,有些环境下写作Latin-1. ISO-8859-1编码是单字节编码,向下兼容ASCII,其编码范围是0x00-0xFF,0x00-0x7F之间完全和ASCI ...
- CodeForces 584D Dima and Lisa
1e9 以内的判断一个数是否是素数,可以直接朴素的暴力. 这倒题除了考虑1e9以内的素数的判断,还有一个歌德巴赫猜想:任意一个奇数都可一分解为三个素数的和. 第三个结论:素数是密集的,1e9以内, ...
- Unknown module(s) in QT: xlsx解决方法
解决方法在此: https://github.com/dbzhang800/QtXlsxWriter Documentation: http://qtxlsx.debao.me QtXlsx is a ...
- 分析并实现 360 P1路由器上的测速功能(也可以针对金山测速功能)
现在各种智能路由器以及一些PC上的防火墙软件,都提供网络测速功能.笔者对此进行了研究,并在自己的路由器上也实现了此功能.下面做一下总结 一般的网络测速,主要关注两个方面:网络延迟和下载速率 1.网络延 ...
- 通过PDO 连接SQL Server
下载PDO_DBLIB库 PDO的各种库都可以在PECL中找到,例如,MySQL库:PDO_MYSQL.Oracle库:PDO_OCI. 作为SQL Server 的连接库,通过下面命令下载PDO_D ...
- WEB APP 开发标签
第一个meta标签表示:强制让文档的宽度与设备的宽度保持1:1,并且文档最大的宽度比例是1.0,且不允许用户点击屏幕放大浏览: 第二个meta标签是iphone设备中的safari私有meta标签,它 ...
- 第一百四十节,JavaScript,封装库--浏览器检测
JavaScript,封装库--浏览器检测 在函数库编写一个,浏览器检测对象 /** sys浏览器检测对象,对象下有两个属性,liu_lan_qi属性和xi_tong属性 * liu_lan_qi属性 ...
- mysql中RAND()随便查询记录效率问题和解决的方法分享
在我们做开发的中效率一直是个问题,特别是对于非常多大数据量操作,今天我们碰到一个要随机查询数据,一開始我们可能想到最简单的order by rand() 来操作但效率不敢恭维啊 近期因为须要大概研究了 ...
- kvm初体验之四:从Host登录Guest的五种方式
1. virt-viewer virt-viewer -c qemu:///system vm1 2. virt-manager (以非root身份运行) virt-manager -c qemu:/ ...
- c#——表达式树在LINQ动态查询
一般如果逻辑比较简单,只是存在有的情况多一个查询条件,有的情况不需要添加该查询条件 简单方式这样操作就可以了 public IQueryable<FileImport> DynamicCh ...