- 相關(guān)推薦
JavaScript中常見(jiàn)的字符串操作函數及用法
JavaScript(簡(jiǎn)稱(chēng)“JS”)是一種具有函數優(yōu)先的輕量級,解釋型或即時(shí)編譯型的編程語(yǔ)言。雖然它是作為開(kāi)發(fā)Web頁(yè)面的腳本語(yǔ)言而出名,但是它也被用到了很多非瀏覽器環(huán)境中,以下是小編整理的JavaScript中常見(jiàn)的字符串操作函數及用法,歡迎閱讀。
JavaScript中常見(jiàn)的字符串操作函數及用法
1、字符串轉換
字符串轉換是最基礎的要求和工作,你可以將任何類(lèi)型的數據都轉換為字符串,你可以用下面三種方法的任何一種:
var num= 19; // 19var myStr = num.toString(); // "19"
你同樣可以這么做:
var num= 19; // 19var myStr = String(num); // "19"
或者,再簡(jiǎn)單點(diǎn)兒:
var num= 19; // 19var myStr = "" +num; // "19"
2、字符串分割
字符串分割,即將一個(gè)字符串分割為多個(gè)字符串,JavaScript中給我們提供了一個(gè)非常方便的函數,如:
var myStr = "I,Love,You,Do,you,love,me";var substrArray = myStr .split(",");// ["I", "Love", "You", "Do", "you", "love", "me"];var arrayLimited = myStr .split(",", 3);// ["I", "Love", "You"];
split()的第二個(gè)參數,表示返回的字符串數組的最大長(cháng)度。
3、獲取字符串長(cháng)度
字符串長(cháng)度是在開(kāi)發(fā)中經(jīng)常要用到的,非常簡(jiǎn)單如下:
var myStr = "I,Love,You,Do,you,love,me";var myStrLength = myStr.length; //25
4、查詢(xún)子字符串
很多人都會(huì )忘記這幾個(gè)JavaScript的自帶的方法,或者忘記它們的具體用法,從而導致在做題的時(shí)候不得不嵌套for循環(huán)來(lái)做。
第一個(gè)函數:indexOf(),它從字符串的開(kāi)頭開(kāi)始查找,找到返回對應坐標,找不到返回-1。如下:
var myStr = "I,Love,you,Do,you,love,me";var index = myStr.indexOf("you"); // 7 ,基于0開(kāi)始,找不到返回-1
第二個(gè)函數:lastIndexOf(),它從字符串的末尾開(kāi)始查找,找到返回對應坐標,找不到返回-1。如下:
var myStr = "I,Love,you,Do,you,love,me";var index = myStr.lastIndexOf("you"); // 14
以上兩個(gè)函數同樣接收第二個(gè)可選的參數,表示開(kāi)始查找的位置。
第二個(gè)可選的參數,表示開(kāi)始查找的位置。
5、字符串替換
單單查到字符串應該還不會(huì )停止,一般題目都還經(jīng)常會(huì )遇到讓你查到并替換為你自己的字符串,例如:
var myStr = "I,love,you,Do,you,love,me";var replacedStr = myStr.replace("love","hate");//"I,hate,you,Do,you,love,me"
默認只替換第一次查找到的,想要全局替換,需要置上正則全局標識,如:
var myStr = "I,love,you,Do,you,love,me";var replacedStr = myStr.replace(/love/g,"hate");//"I,hate,you,Do,you,hate,me"
更多的詳解,可參考:/w3school/js/jsref_replace.htm
6、查找給定位置的字符或其字符編碼值
想要查找給定位置的字符,你可以使用如下函數:
var myStr = "I,love,you,Do,you,love,me";var theChar = myStr.charAt(8);// "o",同樣從0開(kāi)始
同樣,它的一個(gè)兄弟函數就是查找對應位置的字符編碼值,如:
var myStr = "I,love,you,Do,you,love,me";var theChar = myStr.charCodeAt(8); //111
7、字符串連接
字符串連接操作可以簡(jiǎn)單到用一個(gè)加法運算符搞定,如:
var str1 = "I,love,you!";var str2 = "Do,you,love,me";var str = str1 + str2 + "Yes!";//"I,love,you!Do,you,love,me"
同樣,JavaScript也自帶了相關(guān)的函數,如:
var str1 = "I,love,you!";var str2 = "Do,you,love,me";var str = str1.concat(str2);//"I,love,you!Do,you,love,me"
其中concat()函數可以有多個(gè)參數,傳遞多個(gè)字符串,拼接多個(gè)字符串。
8、字符串切割和提取
有三種可以從字符串中抽取和切割的方法,如:
第一種,使用slice():
var myStr = "I,love,you,Do,you,love,me";var subStr = myStr.slice(1,5);//",lov"
第二種,使用substring():
var myStr = "I,love,you,Do,you,love,me";var subStr = myStr.substring(1,5); //",lov"
第三種,使用substr():
var myStr = "I,love,you,Do,you,love,me";var subStr = myStr.substr(1,5); //",love"
與第一種和第二種不同的是,substr()第二個(gè)參數代表截取的字符串最大長(cháng)度,如上結果所示。
9、字符串大小寫(xiě)轉換
常用的轉換為大寫(xiě)或者小寫(xiě)字符串函數,如下:
var myStr = "I,love,you,Do,you,love,me";var lowCaseStr = myStr.toLowerCase();//"i,love,you,do,you,love,me";var upCaseStr = myStr.toUpperCase();//"I,LOVE,YOU,DO,YOU,LOVE,ME"
10、字符串匹配
字符串匹配可能需要你對正則表達式有一定的了解,先來(lái)看看match()函數:
var myStr = "I,love,you,Do,you,love,me";var pattern = /love/;var result = myStr.match(pattern);//["love"]console.log(result .index);//2console.log(result.input );//I,love,you,Do,you,love,me
如你所見(jiàn),match()函數在字符串上調用,并且接受一個(gè)正則的參數。來(lái)看看第二個(gè)例子,使用exec()函數:
var myStr = "I,love,you,Do,you,love,me";var pattern = /love/;var result = pattern .exec(myStr);//["love"]console.log(result .index);//2console.log(result.input );//I,love,you,Do,you,love,me
簡(jiǎn)單吧,僅僅是把正則和字符串換了個(gè)位置,即exec()函數是在正則上調用,傳遞字符串的參數。對于上面兩個(gè)方法,匹配的結果都是返回第一個(gè)匹配成功的字符串,如果匹配失敗則返回null.
再來(lái)看一個(gè)類(lèi)似的方法search(),如:
var myStr = "I,love,you,Do,you,love,me";var pattern = /love/;var result = myStr.search(pattern);//2
僅返回查到的匹配的下標,如果匹配失敗則返回-1.
11、字符串比較
比較兩個(gè)字符串,比較是規則是按照字母表順序比較的,如:
var myStr = "chicken";var myStrTwo = "egg";var first = myStr.localeCompare(myStrTwo); // -1first = myStr.localeCompare("chicken"); // 0first = myStr.localeCompare("apple"); // 1
12、舉例
最后我們來(lái)看一道前端筆試題,去哪兒網(wǎng)的,相信很多孩子都做到過(guò)這個(gè)題了。題目:寫(xiě)一個(gè)getSuffix函數,用于獲得輸入參數的后綴名,例如輸入abcd.txt,返回txt。附上我的答案:
function getSuffix(file){ return file.slice(file.lastIndexOf(".") + 1,file.length); }
javascript函數知識歸納
abs 方法 返回一個(gè)數的絕對值。
acos 方法 返回一個(gè)數的反余弦。
anchor 方法 在對象的指定文本兩端加上一個(gè)帶 NAME 屬性的 HTML 錨點(diǎn)。
asin 方法 返回一個(gè)數的反正弦。
atan 方法 返回一個(gè)數的反正切。
atan2 方法 返回從 X 軸到點(diǎn)(y, x)的角度(以弧度為單位)。
atEnd 方法 返回一個(gè)表明枚舉算子是否處于集合結束處的 Boolean 值。
big 方法在String 對象的文本兩端加入 HTML 的標識。
blink 方法 將 HTML 的標識添加到 String 對象中的文本兩端。
bold 方法 將 HTML 的標識添加到String 對象中的文本兩端。
ceil 方法 返回大于或等于其數值參數的最小整數。
charAt 方法 返回位于指定索引位置的字符。
charCodeAt 方法 返回指定字符的 Unicode 編碼。
compile 方法 將一個(gè)正則表達式編譯為內部格式。
concat 方法(Array)返回一個(gè)由兩個(gè)數組合并組成的新數組。
concat 方法(String) 返回一個(gè)包含給定的兩個(gè)字符串的連接的 String 對象。
cos 方法 返回一個(gè)數的余弦。
dimensions 方法 返回 VBArray 的維數。
escape 方法 對 String 對象編碼,以便在所有計算機上都能閱讀。
eval 方法 對 JScript 代碼求值然后執行之。
exec 方法在指定字符串中執行一個(gè)匹配查找。
exp 方法 返回 e (自然對數的底) 的冪。
fixed 方法 將 HTML 的 標識添加到String 對象中的文本兩端。
floor 方法 返回小于或等于其數值參數的最大整數。
fontcolor 方法 將 HTML 帶 COLOR 屬性的標識添加到 String 對象中的文本兩端。
fontsize 方法 將 HTML 帶 SIZE 屬性的標識添加到 String 對象中的文本兩端。
fromCharCode 方法 返回 Unicode 字符值的字符串。
getDate 方法 使用當地時(shí)間返回 Date 對象的月份日期值。
getDay 方法 使用當地時(shí)間返回 Date 對象的星期幾。
getFullYear 方法 使用當地時(shí)間返回 Date 對象的年份。
getHours 方法 使用當地時(shí)間返回 Date 對象的小時(shí)值。
getItem 方法 返回位于指定位置的項。
getMilliseconds 方法 使用當地時(shí)間返回 Date 對象的毫秒值。
getMinutes 方法 使用當地時(shí)間返回 Date 對象的分鐘值。
getMonth 方法 使用當地時(shí)間返回 Date 對象的月份。
getSeconds 方法 使用當地時(shí)間返回 Date 對象的秒數。
getTime 方法 返回 Date 對象中的時(shí)間。
getTimezoneOffset 方法 返回主機的時(shí)間和全球標準時(shí)間(UTC)之間的差(以分鐘為單位)。
getUTCDate 方法使用全球標準時(shí)間(UTC)返回 Date 對象的日期值。
getUTCDay 方法 使用全球標準時(shí)間(UTC)返回 Date 對象的星期幾。
getUTCFullYear 方法 使用全球標準時(shí)間(UTC)返回 Date 對象的年份。
getUTCHours 方法使用全球標準時(shí)間(UTC)返回Date 對象的小時(shí)數。
getUTCMilliseconds 方法 使用全球標準時(shí)間(UTC)返回Date 對象的毫秒數。
getUTCMinutes 方法 使用全球標準時(shí)間(UTC)返回 Date 對象的分鐘數。
getUTCMonth 方法使用全球標準時(shí)間(UTC)返回 Date 對象的月份值。
getUTCSeconds 方法 使用全球標準時(shí)間(UTC)返回Date對象的秒數。
getVarDate 方法 返回 Date 對象中的 VT_DATE。
getYear 方法 返回 Date 對象中的年份。
indexOf 方法 返回在 String 對象中第一次出現子字符串的字符位置。
isFinite 方法 返回一個(gè) Boolean 值,表明某個(gè)給定的數是否是有窮的。
isNaN 方法 返回一個(gè) Boolean 值,表明某個(gè)值是否為保留值 NaN (不是一個(gè)數)。
italics 方法 將 HTML的 標識添加到 String 對象中的文本兩端。
item 方法 返回集合中的當前項。
join 方法 返回一個(gè)由數組中的所有元素連接在一起的 String 對象。
lastIndexOf 方法 返回在 String 對象中子字符串最后出現的位置。
lbound 方法 返回在 VBArray 中指定維數所用的最小索引值。
link 方法 將帶 HREF 屬性的 HTML 錨點(diǎn)添加到 String 對象中的文本兩端。
log 方法 返回某個(gè)數的自然對數。
match 方法使用給定的正則表達式對象對字符串進(jìn)行查找,并將結果作為數組返回。
max 方法 返回給定的兩個(gè)表達式中的較大者。
min 方法返回給定的兩個(gè)數中的較小者。
moveFirst 方法 將集合中的當前項設置為第一項。
moveNext 方法 將當前項設置為集合中的下一項。
parse 方法 對包含日期的字符串進(jìn)行分析,并返回該日期與1970年1月1日零點(diǎn)之間相差的毫秒數。
parseFloat 方法返回從字符串轉換而來(lái)的浮點(diǎn)數。
parseInt 方法 返回從字符串轉換而來(lái)的整數。
pow 方法 返回一個(gè)指定冪次的底表達式的值。
random 方法 返回一個(gè) 0 和 1 之間的偽隨機數。
replace 方法 返回根據正則表達式進(jìn)行文字替換后的字符串的拷貝。
reverse 方法 返回一個(gè)元素反序的 Array 對象。
round 方法 將一個(gè)指定的數值表達式舍入到最近的整數并將其返回。
search 方法 返回與正則表達式查找內容匹配的第一個(gè)子字符串的位置。
setDate 方法 使用當地時(shí)間設置 Date 對象的數值日期。
setFullYear 方法 使用當地時(shí)間設置 Date 對象的年份。
setHours 方法 使用當地時(shí)間設置 Date 對象的小時(shí)值。
setMilliseconds 方法 使用當地時(shí)間設置 Date 對象的毫秒值。
setMinutes 方法 使用當地時(shí)間設置 Date 對象的分鐘值。
setMonth 方法 使用當地時(shí)間設置 Date 對象的月份。
setSeconds 方法 使用當地時(shí)間設置 Date 對象的秒值。
setTime 方法 設置 Date 對象的日期和時(shí)間。
setUTCDate 方法 使用全球標準時(shí)間(UTC)設置 Date 對象的數值日期。
setUTCFullYear 方法 使用全球標準時(shí)間(UTC)設置 Date 對象的年份。
setUTCHours 方法使用全球標準時(shí)間(UTC)設置 Date 對象的小時(shí)值。
setUTCMilliseconds 方法 使用全球標準時(shí)間(UTC)設置 Date 對象的毫秒值。
setUTCMinutes 方法 使用全球標準時(shí)間(UTC)設置 Date 對象的分鐘值。
setUTCMonth 方法使用全球標準時(shí)間(UTC)設置 Date 對象的月份。
setUTCSeconds 方法 使用全球標準時(shí)間(UTC)設置 Date 對象的秒值。
【JavaScript中常見(jiàn)的字符串操作函數及用法】相關(guān)文章:
Javascript函數的定義和用法分析03-31
JavaScript中push(),join() 函數實(shí)例詳解03-31
Javascript的this用法簡(jiǎn)述03-25
javascript中for/in循環(huán)以及常見(jiàn)的使用技巧04-02
javascript學(xué)習中的常見(jiàn)問(wèn)題總結10-06
javascript分析運算符用法04-01
php字符串處理函數大全03-20