每天一篇javascript學(xué)習(xí)小結(jié)(String對(duì)象)
1、string對(duì)象中可以傳正則的函數(shù)介紹
/* match() 方法可在字符串內(nèi)檢索指定的值,或找到一個(gè)或多個(gè)正則表達(dá)式的匹配。 該方法類似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置。 語(yǔ)法 stringObject.match(searchvalue) stringObject.match(regexp) searchvalue 必需。規(guī)定要檢索的字符串值。 regexp 必需。規(guī)定要匹配的模式的 RegExp 對(duì)象。如果該參數(shù)不是 RegExp 對(duì)象,則需要首先把它傳遞給 RegExp 構(gòu)造函數(shù),將其轉(zhuǎn)換為 RegExp 對(duì)象。 */ var text = "cat, bat, sat, fat"; var pattern = /.at/; var matches = text.match(pattern); alert(matches.index); //0 alert(matches[0]); //"cat" alert(pattern.lastIndex); //0 /* 定義和用法 search() 方法用于檢索字符串中指定的子字符串,或檢索與正則表達(dá)式相匹配的子字符串。 stringObject.search(regexp) regexp 該參數(shù)可以是需要在 stringObject 中檢索的子串,也可以是需要檢索的 RegExp 對(duì)象。 注釋:要執(zhí)行忽略大小寫的檢索,請(qǐng)追加標(biāo)志 i。 返回值 stringObject 中第一個(gè)與 regexp 相匹配的子串的起始位置。 注釋:如果沒(méi)有找到任何匹配的子串,則返回 -1。 */ var pos = text.search(/at/); alert(pos); //1 /* 定義和用法 replace() 方法用于在字符串中用一些字符替換另一些字符,或替換一個(gè)與正則表達(dá)式匹配的子串。 stringObject.replace(regexp/substr,replacement) regexp/substr 必需。規(guī)定子字符串或要替換的模式的 RegExp 對(duì)象。 請(qǐng)注意,如果該值是一個(gè)字符串,則將它作為要檢索的直接量文本模式,而不是首先被轉(zhuǎn)換為 RegExp 對(duì)象。 replacement 必需。一個(gè)字符串值。規(guī)定了替換文本或生成替換文本的函數(shù)。 返回值 一個(gè)新的字符串,是用 replacement 替換了 regexp 的第一次匹配或所有匹配之后得到的。 */ var result = 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) function htmlEscape(text){ return text.replace(/[<>"&]/g, function(match, pos, originalText){ switch(match){ case "<": return "<"; case ">": return ">"; case "&": return "&"; case "\"": return """; } }); } alert(htmlEscape("<p class=\"greeting\">Hello world!</p>")); //<p class="greeting">Hello world!</p> /* 定義和用法 split() 方法用于把一個(gè)字符串分割成字符串?dāng)?shù)組。 stringObject.split(separator,howmany) separator 必需。字符串或正則表達(dá)式,從該參數(shù)指定的地方分割 stringObject。 howmany 可選。該參數(shù)可指定返回的數(shù)組的最大長(zhǎng)度。如果設(shè)置了該參數(shù),返回的子串不會(huì)多于這個(gè)參數(shù)指定的數(shù)組。如果沒(méi)有設(shè)置該參數(shù),整個(gè)字符串都會(huì)被分割,不考慮它的長(zhǎng)度。 返回值 一個(gè)字符串?dāng)?shù)組。該數(shù)組是通過(guò)在 separator 指定的邊界處將字符串 stringObject 分割成子串創(chuàng)建的。返回的數(shù)組中的字串不包括 separator 自身。 但是,如果 separator 是包含子表達(dá)式的正則表達(dá)式,那么返回的數(shù)組中包括與這些子表達(dá)式匹配的字串(但不包括與整個(gè)正則表達(dá)式匹配的文本)。 */ var colorText = "red,blue,green,yellow"; var colors1 = colorText.split(","); //["red", "blue", "green", "yellow"] var colors2 = colorText.split(",", 2); //["red", "blue"] var colors3 = colorText.split(/[^\,]+/); //["", ",", ",", ",", ""]
2、字符串轉(zhuǎn)成小寫和大寫函數(shù)
var stringValue = "hello world"; alert(stringValue.toLocaleUpperCase()); //"HELLO WORLD" alert(stringValue.toUpperCase()); //"HELLO WORLD" alert(stringValue.toLocaleLowerCase()); //"hello world" alert(stringValue.toLowerCase()); //"hello world"
3、字符串對(duì)象 new String()
var stringObject = new String("hello world"); var stringValue = "hello world"; alert(typeof stringObject); //"object" alert(typeof stringValue); //"string" alert(stringObject instanceof String); //true alert(stringValue instanceof String); //false
4、字符串fromCharCode()方法
/* 定義和用法 fromCharCode() 可接受一個(gè)指定的 Unicode 值,然后返回一個(gè)字符串。 String.fromCharCode(numX,numX,...,numX) numX 必需。一個(gè)或多個(gè) Unicode 值,即要?jiǎng)?chuàng)建的字符串中的字符的 Unicode 編碼。 */ alert(String.fromCharCode(104, 101, 108, 108, 111)); //"hello"
5、字符串本地比較方法localeCompare()
/* 定義和用法 用本地特定的順序來(lái)比較兩個(gè)字符串。 stringObject.localeCompare(target) target 要以本地特定的順序與 stringObject 進(jìn)行比較的字符串。 返回值 說(shuō)明比較結(jié)果的數(shù)字。如果 stringObject 小于 target,則 localeCompare() 返回小于 0 的數(shù)。 如果 stringObject 大于 target,則該方法返回大于 0 的數(shù)。如果兩個(gè)字符串相等,或根據(jù)本地排序規(guī)則沒(méi)有區(qū)別,該方法返回 0。 */ var stringValue = "yellow"; alert(stringValue.localeCompare("brick")); //1 alert(stringValue.localeCompare("yellow")); //0 alert(stringValue.localeCompare("zoo")); //-1 //preferred technique for using localeCompare() function determineOrder(value) { var result = stringValue.localeCompare(value); if (result < 0){ alert("The string 'yellow' comes before the string '" + value + "'."); } else if (result > 0) { alert("The string 'yellow' comes after the string '" + value + "'."); } else { alert("The string 'yellow' is equal to the string '" + value + "'."); } } determineOrder("brick"); determineOrder("yellow"); determineOrder("zoo");
6、indexOf() 和 lastIndexOf()方法
/* 定義和用法 indexOf() 方法可返回某個(gè)指定的字符串值在字符串中首次出現(xiàn)的位置。 stringObject.indexOf(searchvalue,fromindex) searchvalue 必需。規(guī)定需檢索的字符串值。 fromindex 可選的整數(shù)參數(shù)。規(guī)定在字符串中開始檢索的位置。 它的合法取值是 0 到 stringObject.length - 1。如省略該參數(shù),則將從字符串的首字符開始檢索。 定義和用法 lastIndexOf() 方法可返回一個(gè)指定的字符串值最后出現(xiàn)的位置,在一個(gè)字符串中的指定位置從后向前搜索。 stringObject.lastIndexOf(searchvalue,fromindex) searchvalue 必需。規(guī)定需檢索的字符串值。 fromindex 可選的整數(shù)參數(shù)。規(guī)定在字符串中開始檢索的位置。 它的合法取值是 0 到 stringObject.length - 1。如省略該參數(shù),則將從字符串的最后一個(gè)字符處開始檢索。 */ var stringValue = "hello world"; alert(stringValue.indexOf("o")); //4 alert(stringValue.lastIndexOf("o")); //7 alert(stringValue.indexOf("o", 6)); //7 alert(stringValue.lastIndexOf("o", 6)); //4
7、字符串常用字符截取方法
/* 定義和用法 slice() 方法可從已有的數(shù)組中返回選定的元素。 arrayObject.slice(start,end) start 必需。規(guī)定從何處開始選取。如果是負(fù)數(shù),那么它規(guī)定從數(shù)組尾部開始算起的位置。也就是說(shuō),-1 指最后一個(gè)元素,-2 指倒數(shù)第二個(gè)元素,以此類推。 end 可選。規(guī)定從何處結(jié)束選取。該參數(shù)是數(shù)組片斷結(jié)束處的數(shù)組下標(biāo)。如果沒(méi)有指定該參數(shù),那么切分的數(shù)組包含從 start 到數(shù)組結(jié)束的所有元素。 如果這個(gè)參數(shù)是負(fù)數(shù),那么它規(guī)定的是從數(shù)組尾部開始算起的元素。 返回值 返回一個(gè)新的數(shù)組,包含從 start 到 end (不包括該元素)的 arrayObject 中的元素。 說(shuō)明 請(qǐng)注意,該方法并不會(huì)修改數(shù)組,而是返回一個(gè)子數(shù)組。如果想刪除數(shù)組中的一段元素,應(yīng)該使用方法 Array.splice()。 定義和用法 substring() 方法用于提取字符串中介于兩個(gè)指定下標(biāo)之間的字符。 語(yǔ)法 stringObject.substring(start,stop) start 必需。一個(gè)非負(fù)的整數(shù),規(guī)定要提取的子串的第一個(gè)字符在 stringObject 中的位置。 stop 可選。一個(gè)非負(fù)的整數(shù),比要提取的子串的最后一個(gè)字符在 stringObject 中的位置多 1。如果省略該參數(shù),那么返回的子串會(huì)一直到字符串的結(jié)尾。 返回值 一個(gè)新的字符串,該字符串值包含 stringObject 的一個(gè)子字符串,其內(nèi)容是從 start 處到 stop-1 處的所有字符,其長(zhǎng)度為 stop 減 start。 說(shuō)明 substring() 方法返回的子串包括 start 處的字符,但不包括 stop 處的字符。 如果參數(shù) start 與 stop 相等,那么該方法返回的就是一個(gè)空串(即長(zhǎng)度為 0 的字符串)。 如果 start 比 stop 大,那么該方法在提取子串之前會(huì)先交換這兩個(gè)參數(shù)。 定義和用法 substr() 方法可在字符串中抽取從 start 下標(biāo)開始的指定數(shù)目的字符。 語(yǔ)法 stringObject.substr(start,length) start 必需。要抽取的子串的起始下標(biāo)。必須是數(shù)值。如果是負(fù)數(shù),那么該參數(shù)聲明從字符串的尾部開始算起的位置。 也就是說(shuō),-1 指字符串中最后一個(gè)字符,-2 指倒數(shù)第二個(gè)字符,以此類推。 length 可選。子串中的字符數(shù)。必須是數(shù)值。如果省略了該參數(shù),那么返回從 stringObject 的開始位置到結(jié)尾的字串。 返回值 一個(gè)新的字符串,包含從 stringObject 的 start(包括 start 所指的字符) 處開始的 length 個(gè)字符。 如果沒(méi)有指定 length,那么返回的字符串包含從 start 到 stringObject 的結(jié)尾的字符。 */ var stringValue = "hello world"; alert(stringValue.slice(3)); //"lo world" alert(stringValue.substring(3)); //"lo world" alert(stringValue.substr(3)); //"lo world" alert(stringValue.slice(3, 7)); //"lo w" alert(stringValue.substring(3,7)); //"lo w" alert(stringValue.substr(3, 7)); //"lo worl" alert(stringValue.slice(-3)); //"rld" alert(stringValue.substring(-3)); //"hello world" alert(stringValue.substr(-3)); //"rld" alert(stringValue.slice(3, -4)); //"lo w" alert(stringValue.substring(3, -4)); //"hel" alert(stringValue.substr(3, -4)); //"" (empty string)
以上就是今天的javascript學(xué)習(xí)小結(jié),之后每天還會(huì)繼續(xù)更新,希望大家繼續(xù)關(guān)注。
- JavaScript中的toLocaleDateString()方法使用簡(jiǎn)介
- JavaScript中的toDateString()方法使用詳解
- js表格排序?qū)嵗治觯ㄖС謎nt,float,date,string四種數(shù)據(jù)類型)
- Javascript中string轉(zhuǎn)date示例代碼
- 詳解JS中Array對(duì)象擴(kuò)展與String對(duì)象擴(kuò)展
- JavaScript的Number對(duì)象的toString()方法
- 3種js實(shí)現(xiàn)string的substring方法
- 淺析js中substring和substr的方法
- 詳解JavaScript中的Unescape()和String() 函數(shù)
- JavaScript Date對(duì)象詳解
- 簡(jiǎn)單談?wù)刯avascript Date類型
- js模仿php中strtotime()與date()函數(shù)實(shí)現(xiàn)方法
- JS簡(jiǎn)單實(shí)現(xiàn)String轉(zhuǎn)Date的方法
相關(guān)文章
在IE下:float屬性會(huì)影響offsetTop的取值
在IE下:float屬性會(huì)影響offsetTop的取值...2006-12-12實(shí)現(xiàn)div可編輯的常見(jiàn)方法總結(jié)
實(shí)現(xiàn)div可編輯的常見(jiàn)方法總結(jié)...2007-04-04JS實(shí)現(xiàn)DOM刪除節(jié)點(diǎn)操作示例
這篇文章主要介紹了JS實(shí)現(xiàn)DOM刪除節(jié)點(diǎn)操作,結(jié)合實(shí)例形式分析了javascript使用removeChild()操作頁(yè)面dom節(jié)點(diǎn)刪除功能的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-04-04JS組件Bootstrap實(shí)現(xiàn)圖片輪播效果
這篇文章主要為大家詳細(xì)介紹了JS組件Bootstrap實(shí)現(xiàn)圖片輪播效果的具體代碼,對(duì)圖片輪播效果感興趣的小伙伴們可以參考一下2016-05-05