首页 > 代码库 > JavaScript学习笔记(五)--- String类型

JavaScript学习笔记(五)--- String类型

String类型

1.字符串的模式匹配方法 

  1) match(),与RegExp的exec()方法相同,也只接受一个参数,要么是一个正则表达式,要么是一个RegExp对象。

var text = "cat,bat,fat,sat";var pattern = /.at/;var matches = text.match(pattern);alert(matches[0]); //catalert(matches.index); //0alert(pattern.lastIndex); //0

  2) search(),从字符串开头向后查找模式,返回字符串中第一个匹配项的索引,如果没有则返回-1

var text = "cat,bat,fat,sat";var pattern = /at/;var pos = text.search(pattern);alert(pos); //1 ;第一个匹配的位置

  3) replace() ,替换子字符串的操作函数

var text = "cat,bat,fat,sat";var resultReplace = text.replace("at","ond");alert(resultReplace); //cond,bat,fat,sat resultReplace  = text.replace(/at/g,"ond");alert(resultReplace); //cond,bond,fond,sond

  ps:如果第一个参数是字符串,那么只会替换第一个子字符串。要想替换说有子字符串,唯一的办法就是提供一个正则表达式,而且要指定全局(g)标志。

  • replace()方法的第二个参数也可以是一个函数。

例如:转义HTML代码中的< 、> 、“ 和 &

var pattern = /[<>"&]/g;function htmlEscape(text){    return text.replace(pattern,function(match,pos,originalText){        switch(match){            case "<":                return "&lt;";            case ">":                return "&gt;";            case "\"":                return "&quot";            case "&":                return "&amp";        }    });} var text = "<p class=\"paraBg\">Hello Word!</p>" ;alert(htmlEscape(text));

  4) split()方法,基于指定的分隔符将一个字符串分割成多个子串,并将结果放在一个数组中。第二个参数可用于指定数组的大小。

var url = "http://item.taobao.com/item.htm?a=1&b=2&c&d=xxx&e";var result = url.split("?");var re = result[1]; alert(re);//a=1&b=2&c&d=xxx&evar r = re.split("&");for(var i=0;i<r.length;i++){    alert(r[i]);}

  5)fromCharCode()方法 与 charCodeAt()执行的是相反的操作。

fromCharCode()方法接收一或多个字符编码,然后将它们转化成一个字符串。

alert(String.fromCharCode(65,66,101)); //ABe

 

JavaScript学习笔记(五)--- String类型