每天一篇javascript学习小结(String对象)
1、string对象中可以传正则的函数介绍
/* match()方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。 该方法类似indexOf()和lastIndexOf(),但是它返回指定的值,而不是字符串的位置。 语法 stringObject.match(searchvalue) stringObject.match(regexp) searchvalue必需。规定要检索的字符串值。 regexp必需。规定要匹配的模式的RegExp对象。如果该参数不是RegExp对象,则需要首先把它传递给RegExp构造函数,将其转换为RegExp对象。 */ vartext="cat,bat,sat,fat"; varpattern=/.at/; varmatches=text.match(pattern); alert(matches.index);//0 alert(matches[0]);//"cat" alert(pattern.lastIndex);//0 /* 定义和用法 search()方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。 stringObject.search(regexp) regexp 该参数可以是需要在stringObject中检索的子串,也可以是需要检索的RegExp对象。 注释:要执行忽略大小写的检索,请追加标志i。 返回值 stringObject中第一个与regexp相匹配的子串的起始位置。 注释:如果没有找到任何匹配的子串,则返回-1。 */ varpos=text.search(/at/); alert(pos);//1 /* 定义和用法 replace()方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。 stringObject.replace(regexp/substr,replacement) regexp/substr 必需。规定子字符串或要替换的模式的RegExp对象。 请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为RegExp对象。 replacement必需。一个字符串值。规定了替换文本或生成替换文本的函数。 返回值 一个新的字符串,是用replacement替换了regexp的第一次匹配或所有匹配之后得到的。 */ varresult=text.replace("at","ond"); alert(result);//"cond,bat,sat,fat" result=text.replace(/at/g,"ond"); alert(result);//"cond,bond,sond,fond" result=text.replace(/(.at)/g,"word($1)"); alert(result);//word(cat),word(bat),word(sat),word(fat) functionhtmlEscape(text){ returntext.replace(/[<>"&]/g,function(match,pos,originalText){ switch(match){ case"<": return"<"; case">": return">"; case"&": return"&"; case"\"": return"""; } }); } alert(htmlEscape("<pclass=\"greeting\">Helloworld!</p>"));//<pclass="greeting">Helloworld!</p> /* 定义和用法 split()方法用于把一个字符串分割成字符串数组。 stringObject.split(separator,howmany) separator必需。字符串或正则表达式,从该参数指定的地方分割stringObject。 howmany可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。 返回值 一个字符串数组。该数组是通过在separator指定的边界处将字符串stringObject分割成子串创建的。返回的数组中的字串不包括separator自身。 但是,如果separator是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(但不包括与整个正则表达式匹配的文本)。 */ varcolorText="red,blue,green,yellow"; varcolors1=colorText.split(",");//["red","blue","green","yellow"] varcolors2=colorText.split(",",2);//["red","blue"] varcolors3=colorText.split(/[^\,]+/);//["",",",",",",",""]
2、字符串转成小写和大写函数
varstringValue="helloworld"; alert(stringValue.toLocaleUpperCase());//"HELLOWORLD" alert(stringValue.toUpperCase());//"HELLOWORLD" alert(stringValue.toLocaleLowerCase());//"helloworld" alert(stringValue.toLowerCase());//"helloworld"
3、字符串对象newString()
varstringObject=newString("helloworld"); varstringValue="helloworld"; alert(typeofstringObject);//"object" alert(typeofstringValue);//"string" alert(stringObjectinstanceofString);//true alert(stringValueinstanceofString);//false
4、字符串fromCharCode()方法
/* 定义和用法 fromCharCode()可接受一个指定的Unicode值,然后返回一个字符串。 String.fromCharCode(numX,numX,...,numX) numX必需。一个或多个Unicode值,即要创建的字符串中的字符的Unicode编码。 */ alert(String.fromCharCode(104,101,108,108,111));//"hello"
5、字符串本地比较方法localeCompare()
/* 定义和用法 用本地特定的顺序来比较两个字符串。 stringObject.localeCompare(target) target要以本地特定的顺序与stringObject进行比较的字符串。 返回值 说明比较结果的数字。如果stringObject小于target,则localeCompare()返回小于0的数。 如果stringObject大于target,则该方法返回大于0的数。如果两个字符串相等,或根据本地排序规则没有区别,该方法返回0。 */ varstringValue="yellow"; alert(stringValue.localeCompare("brick"));//1 alert(stringValue.localeCompare("yellow"));//0 alert(stringValue.localeCompare("zoo"));//-1 //preferredtechniqueforusinglocaleCompare() functiondetermineOrder(value){ varresult=stringValue.localeCompare(value); if(result<0){ alert("Thestring'yellow'comesbeforethestring'"+value+"'."); }elseif(result>0){ alert("Thestring'yellow'comesafterthestring'"+value+"'."); }else{ alert("Thestring'yellow'isequaltothestring'"+value+"'."); } } determineOrder("brick"); determineOrder("yellow"); determineOrder("zoo");
6、indexOf()和lastIndexOf()方法
/* 定义和用法 indexOf()方法可返回某个指定的字符串值在字符串中首次出现的位置。 stringObject.indexOf(searchvalue,fromindex) searchvalue必需。规定需检索的字符串值。 fromindex可选的整数参数。规定在字符串中开始检索的位置。 它的合法取值是0到stringObject.length-1。如省略该参数,则将从字符串的首字符开始检索。 定义和用法 lastIndexOf()方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。 stringObject.lastIndexOf(searchvalue,fromindex) searchvalue必需。规定需检索的字符串值。 fromindex可选的整数参数。规定在字符串中开始检索的位置。 它的合法取值是0到stringObject.length-1。如省略该参数,则将从字符串的最后一个字符处开始检索。 */ varstringValue="helloworld"; alert(stringValue.indexOf("o"));//4 alert(stringValue.lastIndexOf("o"));//7 alert(stringValue.indexOf("o",6));//7 alert(stringValue.lastIndexOf("o",6));//4
7、字符串常用字符截取方法
/* 定义和用法 slice()方法可从已有的数组中返回选定的元素。 arrayObject.slice(start,end) start必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1指最后一个元素,-2指倒数第二个元素,以此类推。 end可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从start到数组结束的所有元素。 如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。 返回值 返回一个新的数组,包含从start到end(不包括该元素)的arrayObject中的元素。 说明 请注意,该方法并不会修改数组,而是返回一个子数组。如果想删除数组中的一段元素,应该使用方法Array.splice()。 定义和用法 substring()方法用于提取字符串中介于两个指定下标之间的字符。 语法 stringObject.substring(start,stop) start必需。一个非负的整数,规定要提取的子串的第一个字符在stringObject中的位置。 stop可选。一个非负的整数,比要提取的子串的最后一个字符在stringObject中的位置多1。如果省略该参数,那么返回的子串会一直到字符串的结尾。 返回值 一个新的字符串,该字符串值包含stringObject的一个子字符串,其内容是从start处到stop-1处的所有字符,其长度为stop减start。 说明 substring()方法返回的子串包括start处的字符,但不包括stop处的字符。 如果参数start与stop相等,那么该方法返回的就是一个空串(即长度为0的字符串)。 如果start比stop大,那么该方法在提取子串之前会先交换这两个参数。 定义和用法 substr()方法可在字符串中抽取从start下标开始的指定数目的字符。 语法 stringObject.substr(start,length) start必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。 也就是说,-1指字符串中最后一个字符,-2指倒数第二个字符,以此类推。 length可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从stringObject的开始位置到结尾的字串。 返回值 一个新的字符串,包含从stringObject的start(包括start所指的字符)处开始的length个字符。 如果没有指定length,那么返回的字符串包含从start到stringObject的结尾的字符。 */ varstringValue="helloworld"; alert(stringValue.slice(3));//"loworld" alert(stringValue.substring(3));//"loworld" alert(stringValue.substr(3));//"loworld" alert(stringValue.slice(3,7));//"low" alert(stringValue.substring(3,7));//"low" alert(stringValue.substr(3,7));//"loworl" alert(stringValue.slice(-3));//"rld" alert(stringValue.substring(-3));//"helloworld" alert(stringValue.substr(-3));//"rld" alert(stringValue.slice(3,-4));//"low" alert(stringValue.substring(3,-4));//"hel" alert(stringValue.substr(3,-4));//""(emptystring)
以上就是今天的javascript学习小结,之后每天还会继续更新,希望大家继续关注。