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

javascript 字符串处理

2015-05-08 10:44 288 查看
1、concat:字符串、数组拼接返回新的字符串、数组;

var a='hello,';
var b='world!';
document.write(a.concat(b)+'<br>');//hello,world!
var arr=[1,2,3,4];
var arr2=[5,6];
var c;
c=arr.concat(arr2);
alert(c instanceof Array);//true
document.write(c+'<br>');//1、2、3、4、5、6


2、indexOflastIndexOf:位置方法,接收两个参数:要查找的项和(此参数为可选)表示查找起点位置的索引。

indexOf:从数组开头(索引0)向后查找,找不到该项返回-1;

lastIndexOf:从数组末尾向前查找,找不到该项返回-1;

var numbers = [1,2,3,4,5,4,3,2,1];
document.write(numbers.indexOf(4)+'<br>'); //3
document.write(numbers.lastIndexOf(3)+'<br>'); //6
document.write(numbers.indexOf(4, 4)+'<br>'); //5 从索引4往后查找4得到其索引
document.write(numbers.lastIndexOf(4, 4)+'<br>'); //3 从索引4往前查找4得到其索引
document.write(numbers.indexOf(6,2)+'<br>');//-1


3、macthexec:与正则表达式有关的匹配字符串的函数,如果有匹配两者都返回数组,无匹配都返回null。macth为字符串方法match(regex);exec为正则表达式方法exec(string)

正则表达式有分组(带括号)且没有全局(g)属性:两者返回结果一致:

var str='boy,joy';
var reg=/b(oy)/;
document.write(reg.exec(str)+'<br/>');//boy,oy
document.write(str.match(reg));//boy,oy


正则表达式无分组且有全局属性:由于全局属性对exec无效,exec将返回只有一个元素的数组,该元素为正则表达式匹配的第一个串;match返回所有匹配。

var str='boy1,joy2';
var reg=/oy\d/g;
document.write(reg.exec(str)+'<br/>');//oy1
document.write(str.match(reg));//oy1,oy2


正则表达式有分组且有全局属性:match只返回全匹配,不返回分组匹配项;全局属性对exec无效,先返回全匹配再返回分组匹配。

var str='boy,joy';
var reg=/b(oy)/g;
document.write(reg.exec(str)+'<br/>');//boy,oy
document.write(str.match(reg));//boy


4、replace:字符串替换,第一个参数为要替换的项(字符串、正则表达式)。

var str="aba12cda34efa56";
document.write(str.replace(/\d/g,"W")+"<br/>");//g替换所有匹配
document.write(str.replace(/\d/,"W")+"<br/>");//只替换一次匹配
document.write(str.replace(/\d$/,"W")+"<br/>");
document.write(str.replace('a','A')+"<br/>");
document.write(str.replace(/a/g,"A"));


5、slicesubstrsubstring:截取字符串并返回新的字符串。

substr(m,n)跟substring(m,n)的区别在于,前者从索引m开始截取n个长度,后者从索引m开始截取到索引n(不包括索引n位置的字符),截取长度为n-m。slice同substring

var str='helloworld';
document.write(str.substr(1,5)+'<br/>');//ellow
document.write(str.substring(1,5)+'<br/>');//ello
document.write(str.slice(1,5)+'<br/>');//ello
//substr索引为负数的情况:末位字符索引为-1,类推,n>m的时候只截取到末位。
document.write(str.substr(-2,5)+'<br>');//ld
//substring索引为负数的情况:负数索引无效,以0替代。slice同
document.write(str.substring(-2,5)+'<br>');//hello
document.write(str.substring(-100,5));//hello


6、search:返回要查找的字符串索引,查找不到返回-1。注:字符串方法,对数组无效。

var str1="I am a programmer";
document.write(str1.search('pro')+'<br>');//7
document.write(str1.search(/\s/));//1


7、split:以传入的参数分割字符串并返回数组。

var str1='abc-d';
document.write(str1.split('')+'<br>');//a,b,c,-,d
document.write(str1.split('-')[1]);//d


8、length:返回字符串的长度。

var str1='abc-d';
var str2='hi,我是一名程序员!';
document.write(str1.length+'<br>');//5
document.write(str2.length);//11


9、toLowerCasetoUpperCase:大小写转换。

var str1="I am a programmer";
document.write(str1.toLowerCase()+'<br>');//i am a programmer
document.write(str1.toUpperCase());//I AM A PROGRAMMER
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: