成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

js常見字符串操作方法

hsluoyz / 1189人閱讀

摘要:一字符串方法字符串轉(zhuǎn)換將一個(gè)值轉(zhuǎn)換成一個(gè)字符串有兩種方法,一是使用方法,二是使用轉(zhuǎn)型函數(shù)。對(duì)于字符串型的值也可以使用方法,它會(huì)返回該字符串的一個(gè)副本。方法可以傳遞一個(gè)參數(shù),表示數(shù)值的基數(shù)進(jìn)制。

一、字符串方法

1、字符串轉(zhuǎn)換:
將一個(gè)值轉(zhuǎn)換成一個(gè)字符串有兩種方法,一是使用 toString() 方法,二是使用轉(zhuǎn)型函數(shù) String()。
(1)、大多值都有toString()方法,null和undefined是沒有的。

(2)、對(duì)于字符串型的值也可以使用toString()方法,它會(huì)返回該字符串的一個(gè)副本。

(3)、toString()方法可以傳遞一個(gè)參數(shù),表示數(shù)值的基數(shù)(進(jìn)制)。

 var t = 8;  
 t.toString(2);  //1000 

默認(rèn)情況下 參數(shù)是10。要說明的是對(duì)于非數(shù)值類型(boolean,string等)設(shè)置toString()的參數(shù)是無效的

var t ="8";  
t.toString(2);  //8, 返回字符串的副本;
    

(4)、任何值都可以使用String()方法。它的過程是這樣的

    首先,如果值有toString()方法,那么則使用該方法(無參數(shù))。

    其次,那就是該值沒有toString()方法,那就是 null 返回 "null",undefined返回"undefined";
   

var a=null;  
String(a);    //"null"

2、字符串分割:
字符串分割,將一個(gè)字符串按照某種方式分割成字符串?dāng)?shù)組,使用 split(separator,howmany) 方法,
第一個(gè)參數(shù)必需,,為字符串或正則表達(dá)式,從該參數(shù)指定的地方分割字符串;
第二個(gè)參數(shù)可選,可指定返回的數(shù)組的最大長度

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"];

3、獲取字符串長度
獲取字符串長度,直接使用 str.length 屬性

var myStr = "I,Love,You,Do,you,love,me";
var myStrLength = myStr.length; //25

4、查詢子字符串
查詢子字符串,可以使用 indexOf()lastIndexOf() 方法
(1)indexOf():從字符串的第一個(gè)字符位置開始查找,找到后返回對(duì)應(yīng)下標(biāo),找不到返回 -1 ;

var myStr = "I,Love,you,Do,you,love,me";
var index = myStr.indexOf("Love"); // 2 ,基于0開始,找不到返回-1,區(qū)分大小寫

(2)lastIndexOf():從字符串的末尾開始查找,找到最后出現(xiàn)指定字符串的位置后返回對(duì)應(yīng)下標(biāo),找不到返回 -1 ;

var myStr = "I,Love,you,Do,you,love,me";
var index = myStr.lastIndexOf("you"); // 14 //區(qū)分大小寫

5、字符串替換
替換字符串,使用 strObj.replace(regexp/substr,replacement) 方法,
第一個(gè)參數(shù)必需,規(guī)定要匹配的正則對(duì)象,
第二個(gè)參數(shù)必需,規(guī)定了替換文本或生成替換文本的函數(shù)。

 var myStr = "I,Love,you,Do,you,love,me";
 var replacedStr = myStr.replace(/love/g,"hate");//"I,Love,you,Do,you,hate,me",全局匹配(g)
var myStr = "I,Love,you,Do,you,love,me";
var replacedStr = myStr.replace(/love/g,"hate");//"I,hate,you,Do,you,hate,me",忽略大小寫(i)

6、查找給定位置的字符或其字符編碼值
想要查找給定位置的字符,你可以使用如下函數(shù):

var myStr = "I,love,you,Do,you,love,me";
var theChar = myStr.charAt(8);// "o",同樣從0開始
   

同樣,它的一個(gè)兄弟函數(shù)就是查找對(duì)應(yīng)位置的字符編碼值,如:

var myStr = "I,love,you,Do,you,love,me";
var theChar = myStr.charCodeAt(8); //111
   

7、字符串拼接
字符串連接操作可以簡(jiǎn)單到用一個(gè)加法運(yùn)算符搞定,如:

var str1 = "I,love,you!";
var str2 = "Do,you,love,me?";
var str = str1 + str2 + "Yes!";//"I,love,you!Do,you,love,me?Yes!"
   

使用js自帶 strObj1.concat(strObj2) 方法也可實(shí)現(xiàn)

var str1 = "I,love,you!";
var str2 = "Do,you,love,me?";
var str = str1.concat(str2);//"I,love,you!Do,you,love,me?"
   

8、字符串切割和提取
有三種方法可實(shí)現(xiàn),分別為:
(1)、strObj.slice(satrt,end):第一個(gè)參數(shù)必需,要提取字符串的起始下標(biāo)。如果為負(fù)數(shù)的話,則該參數(shù)規(guī)定的是從字符串的尾部開始算起的位置。也就是說,-1 指字符串的最后一個(gè)字符,-2 指倒數(shù)第二個(gè)字符,以此類推,第二個(gè)參數(shù)可選,與strObj.substring()類似。

 var myStr = "I,love,you,Do,you,love,me";
 var subStr = myStr.slice(1,5);//",lov"
   

(2)、strObj.substring(start,end):第一個(gè)參數(shù)必需,不能為負(fù)數(shù),提取字符串初始位置,第二個(gè)參數(shù)可選,strObj[end]不提取。

var myStr = "I,love,you,Do,you,love,me";
var subStr = myStr.substring(1,5); //",lov";
   

(3)、strObj,substr(start,length):第一個(gè)參數(shù)必需,提取字符串的初始位置,第二個(gè)參數(shù)可選,表示提取字符串長度,不寫的話默認(rèn)提取到字符串末尾。

var myStr = "I,love,you,Do,you,love,me";
var subStr = myStr.substr(1,5); //",love"
   

9、字符串大小寫轉(zhuǎn)換
常用的轉(zhuǎn)換為大寫或者小寫字符串函數(shù),如下:

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、字符串匹配

字符串匹配可能需要你對(duì)正則表達(dá)式有一定的了解,先來看看match()函數(shù):
   var myStr = "I,love,you,Do,you,love,me";
   var pattern = /love/;
   var result = myStr.match(pattern);//["love"]
   console.log(result .index);//2
   console.log(result.input );//I,love,you,Do,you,love,me
如你所見,match()函數(shù)在字符串上調(diào)用,并且接受一個(gè)正則的參數(shù)。來看看第二個(gè)例子,使用exec()函數(shù):
    var myStr = "I,love,you,Do,you,love,me";
    var pattern = /love/;
    var result = pattern .exec(myStr);//["love"]
    console.log(result .index);//2
    console.log(result.input );//I,love,you,Do,you,love,me
簡(jiǎn)單吧,僅僅是把正則和字符串換了個(gè)位置,即exec()函數(shù)是在正則上調(diào)用,傳遞字符串的參數(shù)。對(duì)于上面兩個(gè)
方法,匹配的結(jié)果都是返回第一個(gè)匹配成功的字符串,如果匹配失敗則返回null.

再來看一個(gè)類似的方法search(),如:
var myStr = "I,love,you,Do,you,love,me";
var pattern = /love/;
var result = myStr.search(pattern);//2
僅返回查到的匹配的下標(biāo),如果匹配失敗則返回-1.      

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/83455.html

相關(guān)文章

  • [總結(jié)貼] 十個(gè) JavaScript 中易犯的小錯(cuò)誤

    摘要:但是在中,的生命還會(huì)繼續(xù)。這其中最典型的問題便是批量增加元素。這時(shí),如果構(gòu)造函數(shù)被調(diào)用時(shí)沒有參數(shù),則會(huì)自動(dòng)設(shè)置為。因?yàn)閺南到y(tǒng)的角度來說,當(dāng)你用字符串的時(shí)候,它會(huì)被傳進(jìn)構(gòu)造函數(shù),并且重新調(diào)用另一個(gè)函數(shù)。 序言 在今天,JavaScript已經(jīng)成為了網(wǎng)頁編輯的核心。尤其是過去的幾年,互聯(lián)網(wǎng)見證了在SPA開發(fā)、圖形處理、交互等方面大量JS庫的出現(xiàn)。 如果初次打交道,很多人會(huì)覺得js很簡(jiǎn)單...

    icattlecoder 評(píng)論0 收藏0
  • 給初學(xué)者:JavaScript 的常見注意點(diǎn)

    摘要:上篇說了一些中數(shù)組操作的常見誤區(qū),這次來總結(jié)一下初學(xué)者常見的其他易錯(cuò)點(diǎn)。小心它的精度問題。這就是存在的唯一意義。而包括在內(nèi)所有瀏覽器所以對(duì)于日期字符串,請(qǐng)注意字符串中是使用橫杠還是斜杠。考慮到負(fù)數(shù)時(shí)區(qū)的問題,不推薦將小時(shí)數(shù)清零的做法。 上篇說了一些 JS 中數(shù)組操作的常見誤區(qū),這次來總結(jié)一下初學(xué)者常見的其他易錯(cuò)點(diǎn)。 寫立即執(zhí)行函數(shù)時(shí)前置 void 立即執(zhí)行函數(shù)(IIFE)在 JS 非常...

    blair 評(píng)論0 收藏0
  • 慕課網(wǎng)js面試題學(xué)習(xí)筆記(ES6 標(biāo)準(zhǔn)) ——實(shí)時(shí)更新

    摘要:而第一種方法只能判斷引用類型,不能判斷值類型,因?yàn)橹殿愋蜎]有對(duì)應(yīng)的構(gòu)造函數(shù)描述一個(gè)對(duì)象的過程生成一個(gè)新的空對(duì)象指向這個(gè)新對(duì)象執(zhí)行構(gòu)造函數(shù)中的代碼,即對(duì)賦值將新對(duì)象的屬性指向構(gòu)造函數(shù)的屬性返回,即得到新對(duì)象。 最近在在看前端面試教程,這篇文章里大部分是看視頻的過程中自己遇到的不清楚的知識(shí)點(diǎn),內(nèi)容很簡(jiǎn)單,只是起到一個(gè)梳理作用。有些地方也根據(jù)自己的理解在作者的基礎(chǔ)上加了點(diǎn)東西,如有錯(cuò)誤,歡迎...

    netmou 評(píng)論0 收藏0
  • 常見的web安全問題及解決方案

    摘要:常見的六大安全問題有點(diǎn)擊劫持跳轉(zhuǎn)漏洞注入命令注入攻擊,跨站腳本攻擊,因?yàn)榭s寫和重疊,所以只能叫。這是預(yù)防攻擊竊取用戶最有效的防御手段。命令注入攻擊命令注入攻擊指通過應(yīng)用,執(zhí)行非法的操作系統(tǒng)命令達(dá)到攻擊的目的。 隨著互聯(lián)網(wǎng)的快速發(fā)展和前端的多樣性,瀏覽器已經(jīng)成一種十分重要的上網(wǎng)工具,也是要有越來越多的交互操作需要瀏覽器來支持,所以針對(duì)瀏覽器的安全問題也越來越重要。瀏覽器安全其實(shí)是受同源策...

    geekzhou 評(píng)論0 收藏0
  • js常見對(duì)象及方法

    摘要:構(gòu)造函數(shù)是是引用類型的一個(gè)新實(shí)例一創(chuàng)建實(shí)例的方法第一種是使用操作符后跟構(gòu)造函數(shù)使用對(duì)象字面量表示法與相同二訪問對(duì)象屬性從功能上看,這兩種訪問對(duì)象屬性的方法沒有任何區(qū)別。對(duì)數(shù)組中的每一項(xiàng)運(yùn)行給定函數(shù),如果該函數(shù)對(duì)任一項(xiàng)返回,則返回。 對(duì)象是某個(gè)特定引用類型的實(shí)例。新對(duì)象是使用new操作符后跟一個(gè)構(gòu)造函數(shù)來創(chuàng)建的。 var person = new Object(); 構(gòu)造函數(shù)是...

    dendoink 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<