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]); //cat
alert(matches.index); //0
alert(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&e
var 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

 

posted @ 2014-09-05 20:00  Immanuely  阅读(216)  评论(0编辑  收藏  举报