您的位置:首页 > Web前端 > JavaScript

JavaScript字符串操作函数

2017-04-06 13:21 197 查看
JavaScript字符串操作函数的简单总结

str.split(separator,howmany)
字符串的分割

separator 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。

howmany 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

返回值:

一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 stringObject 分割成子串创建的。返回的数组中的字串不包括 separator 自身。但是,如果 separator 是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(但不包括与整个正则表达式匹配的文本)。

var str = "H,o,w,?";
var res = str.split(","); // 得到["H" "o" "w" "?"]
var res2 = str.split(""); // 若分割"",则得到包含所有字符的数组["H" "," "o" "," "w" "," "?"]
var res3 = "a    b            c".split(/\s+/); //使用正则去除空白,得到["a" "b" "c"]


str.slice(start,end)
字符串的截取

start 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。

end 可选。规定从何处结束选取。该参数是str结束字符的下标(不包括该字符)。如果没有指定end,那么结果从 start 到 str 结束。

如果end为负数,那么它规定的是从尾部开始算起的字符。

如果start >= end,得到空字符串。

返回值:返回一个新字符串,包含从 start 到 end (不包括该元素)的 str 中的元素。注意原 str 没有改变。

slice
方法也适用于数组

var str = "Hello World", res;
res = str.slice(0, 7); // 此时str = "Hello World", res = "Hello W"
res = str.slice(-4, -2); // res = "or"
res = str.slice(5, 1); // res = ""


str.substring(start,end)
字符串的截取

start 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。

如果start < 0 , 则会将start置为0再执行方法

end 可选。规定从何处结束选取。该参数是str结束字符的下标(不包括该字符)。如果没有指定end,那么结果从 start 到 str 结束。

如果start > end,则会交换 start 和 end 再执行。

返回值:返回一个新字符串,包含从 start 到 end (不包括该元素)的 str 中的元素。注意原 str 没有改变。

slice
的区别是
substring
只适用于字符串,对start 和 end大小情况的处理也不一致。

var str = "Hello World", res;
res = str.slice(0, 7); // 此时str = "Hello World", res = "Hello W"
res = str.slice(-2, 7); // res = "Hello W", start变为0
res = str.slice(7, -2); // res = "Hello W", start和end交换


str.substr(start,length)
字符串的截取

start 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。

length 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 str 的 start 到结尾的字串。

如果 length <= 0,得到空字符串。

返回值:返回一个新字符串,包含从 start 处开始的 length 个字符。注意原 str 没有改变。

重要事项

ECMAscript 没有对该方法进行标准化,因此反对使用它

在 IE 4 中,参数 start 的值无效。在这个 BUG 中,start 规定的是第 0 个字符的位置。在之后的版本中,此 BUG 已被修正。

var str = "Hello World", res;
res = str.substr(0, 7); // 此时str = "Hello World", res = "Hello W"
res = str.substr(-4, 2); // res = "or"
res = str.substr(5, -1); // res = ""


str.substr(str1, str2, ... , strN)
字符串的连接

str1 必需,可以是任意多个字符串。

返回值:返回一个新字符串,包含从 start 处开始的 length 个字符。注意原 str 没有改变。

var str = "Hello World", res;
res = str.concat("!!!", "???"); // 此时str = "Hello World", res = "Hello World!!!???"


str.charAt(index)
取字符

index 必需,表示字符在字符串中的下标。

返回值:返回一个字符。如果参数 index 不在 0 与 string.length 之间,该方法将返回一个空字符串。

var str = "Hello World", res;
res = str.charAt(4); // res = "o"
res = str.charAt(20); // res = "",index大于字符串长度


str.indexOf(target,fromIndex)
从前找出子串下标

target 必需,规定需检索的字符串值。

fromIndex 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 str.length - 1。如省略该参数,则将从字符串的首字符开始检索。

返回值:返回首次匹配子串的首个字符下标。如果要检索的字符串值没有出现,则该方法返回 -1。

var str = "Hello World Hello", res;
res = str.indexOf("llo"); // 2
res = str.indexOf("llo", 2); // 虽然指定fromIndex,结果仍为2


str.lastIndexOf(target,fromIndex)
从后找出子串下标

target 必需,规定需检索的字符串值。

fromIndex 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 str.length - 1。如省略该参数,则将从字符串的最后一个字符开始检索。

返回值:返回一个指定的字符串值最后出现的位置。如果要检索的字符串值没有出现,则该方法返回 -1。

var str = "Hello World Hello", res;
res = str.lastIndexOf("llo"); // 14
res = str.lastIndexOf("llo", 1); // -1
res = str.lastIndexOf("llo", 2); // str(2,4)为"llo",故得到 res = 2


str.toUpperCase()
大写转换

返回值:返回一个新字符串,所有字符被转换成大写。

var str = "Hello World", res;
res = str.toUpperCase(); // str = "Hello World"  res = "HELLO WORLD"


str.toLowerCase()
小写转换

返回值:返回一个新字符串,所有字符被转换成大写。

var str = "Hello World", res;
res = str.toLowerCase(); // str = "Hello World"  res = "hello world"


先写这么多。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript