字符串方法 | 说明 |
---|---|
charAt() | 返回字符串中的第 n 个字符 |
charCodeAt() | 返回字符串中的第 n 个字符的代码 |
indexOf() | 检索字符串 |
lastIndexOf() | 从后向前检索一个字符串 |
match() | 找到一个或多个正则表达式的匹配 |
search() | 检索与正则表达式相匹配的子串 |
String.prototype.toArray = function () { //把字符串转换为数组 var 1 = this.length; a = []; //获取当前字符串长度,并定义空数组 if (1) { //如果存在则执行循环操作,预防空字符串 for (var i = 0; i < 1; i ++) { //遍历字符串,枚举每个字符 a.push(this.charAt(i)); //把每个字符按顺序装入数组 } } return a; //返回数组 }应用原型方法:
var s = "abcdefghijklmn".toArray(); //把字符串转换为数组 for (var i in s) { //遍历返回数组,显示每个字符 console.log(s[i]); }
var s = "JavaScript"; var i = s.indexOf("a"); console.log(i); //返回值为1,即字符串中第二个字符indexOf() 方法只返回查找到的第一个子字符串的起始下标值,如果没有找到则返回 -1。
var s = "task.lmcjl.com"; var a = s.indexOf("biancheng"); //返回值为3,即第一个字符n的下标位置如果要查找下一个子字符串,则可以使用第二个参数来限定范围。
var s = "task.lmcjl.com"; var b = s.indexOf("."); //返回值为1,即第一个字符.的下标位置 var e = s.indexOf(".", b + 1); //返回值为11,即第二个字符.的下标位置indexOf() 方法是按照从左到右的顺序进行查找的。如果希望从右到左来进行查找,则可以使用 lastIndexOf() 方法来查找。
var s = "task.lmcjl.com"; var n = s.lastIndexOf("."); //返回值为11,即第二个字符.的下标位置lastIndexOf() 方法的查找顺序是从右到左但是其参数和返回值都是根据字符串的下标按照从左到右的顺序来计算的,即字符串第一个字符下标值始终都是 0,而最后一个字符的下标值始终都是 length-1。
var s = "http://task.lmcjl.com"; var n = s.lastIndexOf(".", 11); //返回值是8,而不是18其中第二个参数值 11 表示字符 a (第一个)的下标位置,然后从左侧开始向左查找,所以就返回第一个点号的位置。如果找到,则返回第一次找到的字符串的起始下标值。
var s = "http://task.lmcjl.com"; var n = s.lastIndexOf("c"); //返回值为7如果没有设置第二个参数,或者为参数负值,或者参数大于等于 length,则将遵循 indexOf() 方法进行操作。
var s = "task.lmcjl.com"; n="s.search("//");"search() 方法参数定义:
var s = "http://task.lmcjl.com"; var a = s.match(/c/n); //全局匹配所有字符c console.log(a); //返回数组[c,c]。match() 方法返回的是一个数组,如果不是全局匹配,那么 match() 方法只能执行一次匹配。例如,下面匹配模式没有 n 的修饰符,只能够执行一次匹配,返回仅有一个元素 c 的数组。
var a = s.match(/c/); //返回数组[h]如果没有找到匹配字符,则返回 null,而不是空数组。
var s = "http://task.lmcjl.com"; var a = s.match(/(\.).*(\.).*(\.)/ ); //执行一次匹配检索 console.log(a.length); console.log(a[0]); console.log(a[1]); console.log(a[2]); console.log(a[3]);在这个正则表达式 “/(\.).*(\.).*(\.)/”中,左右两个斜杠是匹配模式分隔符,JavaScript 解释器能够根据这两个分隔符来识别正则表达式。在正则表达式中小括号表示子表达式,每个子表达式匹配的文本信息会被独立存储。点号需要转义,因为在正则表达式中它表示匹配任意字符,星号表示前面的匹配字符可以匹配任意多次。
console.log(a.index); console.log(a.input);在全局匹配模式下,match() 将执行全局匹配。此时返回的数组元素存放的是字符串中所有匹配文本,该数组没有 index 属性和 input 属性;同时不再提供子表达式匹配的文本信息,也不提示每个匹配子串的位置。如果需要这些信息,可以使用 RegExp.exec() 方法。
本文链接:http://task.lmcjl.com/news/15677.html