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 ...
随机推荐
- unity的自带特性
2016/9/24补充: unity官方有一篇文章对菜单扩展讲的不错 https://unity3d.com/cn/learn/tutorials/topics/interface-essential ...
- deepin linux下markdown实时预览
# deepin linux下markdown实时预览 ## 参考文章------------------------------ [vim安装markdown插件](http://www.jians ...
- 您的位置:首页 » IOS » iOS中全局悬浮按钮,类似IPhone中的AssistiveTouch iOS中全局悬浮按钮,类似IPhone中的AssistiveTouch
原文地址:http://blog.5ibc.net/p/86562.html 前提:当时看到别人写过这个类似AssistiveTouch的demo,但是有问题,第一改变不了位置.第二切换页面后无法使用 ...
- oracle,mysql分页
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-/ ...
- JVM Specification 9th Edition (3) Chapter 2. The Structure of the Java Virtual Machine
Chapter 2. The Structure of the Java Virtual Machine 内容列表 2.1. The class File Format (class文件的格式) 2. ...
- 【Mac + Appium + Python3.6学习(五)】之常用的Android自动化测试API总结
Github测试样例地址:https://github.com/appium-boneyard/sample-code/tree/master/sample-code/examples ①定位text ...
- js 控制按钮点击后不可用
<input type="button" id="btn" value="免费获取验证码" /> <script type ...
- python笔记9 : 多线程
基础: 什么是进程(process)? 每一个程序的内存是独立的,例如:world不能访问QQ. 进程:QQ是以一个整体的形式暴露给操作系统管理,里面包含了各种资源的调用(内存管理.网络接口调用等). ...
- 请说明meta标签的作用。
请说明meta标签的作用. 解答: meta是用来在HTML文档中模拟HTTP协议的响应头报文.meta 标签用于网页的<head>与</head>中,meta 标签的用处很多 ...
- 【JavaEE】SSH+Spring Security整合及example
到前文为止,SSH的基本框架都已经搭建出来了,现在,在这基础上再加上权限控制,也就是Spring Security框架,和前文的顺序一样,先看看需要加哪些库. 1. pom.xml Spring Se ...