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