JS內置對象:String字符

一、String 字符串對象

定義字符串的方法就是直接賦值。
比如:

var mystr = "I love JavaScript!"

定義mystr字符串后,我們就可以訪問它的屬性和方法。

1/訪問字符串對象的屬性length:

stringObject.length; //返回該字符串的長度。

【例如】

var mystr="Hello World!";
var myl=mystr.length;

以上代碼執行后,myl 的值將是:12

2/訪問字符串對象的大小寫變化:toUpperCase()與toLowerCase()

【語法】:

stringObject.toUpperCase()

【功能】:把字符串轉換為大寫。

【語法】:

stringObject.toLowerCase()

【功能】:把字符串轉換為小寫。

【案例】:使用 String 對象的 toUpperCase() 方法來將字符串小寫字母轉換為大寫:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>string對象 </title>
  <script type="text/javascript">
    var message="I love JavaScript!";
    var mychar= message.toUpperCase();
    document.write("字符串為:"+mychar+"<br>");
</script>
</head>
<body>
</body>
</html>

【備注】
如果是變小寫,則 message.toUpperCase()替換為message.toLowerCase();

二、返回指定位置的字符charAt()

方法可返回指定位置的字符。返回的字符是長度為 1 的字符串。

【語法】:

stringObject.charAt(index)

【參數說明】:
index:必需。表示字符串中某個位置的數字,即字符在字符串中的下標。

【注意】:
1:字符串中第一個字符的下標是 0。最后一個字符的下標為字符串長度減一(string.length-1)。
2:如果參數 index 不在 0 與 string.length-1 之間,該方法將返回一個空字符串。
3:一個空格也算一個字符。

【案例】返回最后一個字符。

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>string對象 </title>
  <script type="text/javascript">
  var mystr="I love JavaScript!"
  document.write(mystr.charAt(mystr.length-1));
</script>
</head>
<body>
</body>
</html>

三、返回指定的字符串首次出現的位置indexOf()

indexOf()方法可返回某個指定的字符串值在字符串中首次出現的位置。

【語法】:

stringObject.indexOf(substring, startpos)

【參數說明】:
substring:必需。規定需檢索的字符串值。
startpos:可選的整數參數。規定在字符串中開始檢索的位置。它的合法取值是0到stringObjectlength-1.如果省略該參數,則將從字符串的首字符開始檢索。

【語法說明】:
1.該方法將從頭到尾地檢索字符串 stringObject,看它是否含有子串 substring。
2.可選參數,從stringObject的startpos位置開始查找substring,如果沒有此參數將從stringObject的開始位置查找。
3.如果找到一個 substring,則返回 substring 的第一次出現的位置。stringObject 中的字符位置是從 0 開始的。

【注意】:
1:indexOf() 方法區分大小寫。
2:如果要檢索的字符串值沒有出現,則該方法返回 -1。

【案例】使用indexOf()方法,檢索第二個字符o出現的位置。

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>string對象 </title>
<script type="text/javascript">
  var mystr="Hello World!"
  document.write(mystr.indexOf('o',mystr.indexOf('o')+1));
</script>
</head>
<body>
</body>
</html>

【結果】為7

四、掌握字符串對象的方法:split()和replace()

- 1/字符串分割split()

split() 方法將字符串分割為字符串數組,并返回此數組。
【語法】:

stringObject.split(separator,limit)

【參數說明】:
separator 必需。從該參數指定的地方分割stringObject。
limit 可選參數,分割的次數,如設置該參數,返回的子串不會多于這個參數指定的數組,如果無此參數為不限制次數。

【注意】
如果把空字符串("")用作separator,那么stringObject中的每個字符之間都會被分割。

【案例】:
運用split()方法,完成以下任務,并輸出:1.以字符"-"分隔字符串對象mystr。2. 將字符串對象mystr每個字符分割。3. 將字符串對象mystr分割成字符,分割3次。

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>無標題文檔</title>
<script type="text/javascript">
var mystr="86-010-85468578";
document.write(mystr.split("-")+ "<br />");//1.以字符"-"分隔字符串對象mystr
document.write(mystr.split("")+ "<br />");//2. 將字符串對象mystr每個字符分割。
document.write(mystr.split("-",3));//3. 將字符串對象mystr分割成字符,分割3次。
</script>
</head>
<body>
</body>
</html>

【結果】



【案例】:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>string綜合應用</title>
</head>
<body>
  <script>
    var str="tom/how/are/you/doing/today";
    var arr=str.split("/");
    console.log(arr);
  </script>
</body>
</html>

【結果】:


2/replace替換

【語法】:

stringObject.replace(regexp/substr,replacement)

【功能】:
在字符串中用一些字符替換另一些字符,或替換一個與正則式匹配的子串。

【返回值】:string

【參數】:
regexp:必需。規定子字符串或要替換的模式的RegExp對象。
replacement:必需。一個字符串值。

【案例】:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>string綜合應用</title>
</head>
<body>
  <script>
     //替換
     var tel="010-62971268,400-100-9098,010-86789889";
     var newTel=tel.replace(",","  ");
     console.log(newTel);
  </script>
</body>
</html>

【結果】:


五、提取字符串:slice()、substring()、substr()

- 1/提取字符串slice()

【語法】:

stringObject.slice(start,end)

【功能】:
截取子字符串。

【參數說明】:
1.start:必需,指定子字符串的開始位置。
2.end:可選,表示子字符串到哪里結束,
若end本身不在截取范圍之內(即end-1),省略時截取至字符串的末尾。
3.當為負數時,其值為字符串長度+該負數

【案例】:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<script>
    var str="hello world";
    //截取orl
    console.log(str.slice(7,10));
</script>
</body>
</html>

-2/ 提取字符串substring

substring() 方法用于提取字符串中介于兩個指定下標之間的字符。

【語法】:

stringObject.substring(startPos,stopPos)

startPos 必需。一個非負的整數,開始位置。
stopPos 可選。一個非負的整數,結束位置,如果省略該參數,那么返回的子串會一直到字符串對象的結尾。

說明:
console.log(str.substring(-7,5));//當第一個為負值時直接等同于0,即(0,5)
console.log(str.substring(2,-5));//當第二個數值比第一個小的時候,直接調整順序為小到大截取,即(0,2)

【注意】:
1:返回的內容是從 start開始(包含start位置的字符)到 stop-1 處的所有字符,其長度為 stop 減start。
2:如果參數 start 與 stop 相等,那么該方法返回的就是一個空串(即長度為 0 的字符串)。
3:如果 start 比 stop 大,那么該方法在提取子串之前會先交換這兩個參數。

【案例】:
運用substring()方法,完成子字符串Hello World!的提取:1.從字符對象mystr中提取World!子字符串。2. 從字符對象mystr中提取Hello子字符串。

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>string對象</title>
<script type="text/javascript">
var mystr="Hello World!"
document.write(mystr.substring(6)+ "<br />");
document.write(mystr.substring(0,5));
</script>
</head>
<body>
</body>
</html>

【結果】


★【辨析】substring()與slice()

它倆語法及功能完全一樣。
區別在于:
1.當substring()參數為負數時,自動將參數轉換為0.
2.substring()會將較小的數作為開始位置,將較大的數作為結束位置。

- 3/提取指定數目的字符substr()

substr() 方法從字符串中提取從 startPos位置開始的指定數目的字符串。

【語法】:

stringObject.substr(startPos,length)

【參數說明】
startPos 必需。要提取的子串的起始位置。必須是數值。
length 可選。提取字符串的長度。如果省略,返回從stringObject的開始位置startPos到stringObject的結尾的字符。

【注意】
如果參數startPos是負數,從字符串的尾部開始算起的位置。也就是說,-1 指字符串中最后一個字符,-2 指倒數第二個字符,以此類推。

如果startPos為負數且絕對值大于字符串長度,startPos為0。

【案例】

運用substr()方法,完成以下任務:1.提取字符world!。2.提取字符Hello。

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>substr()</title>
<script type="text/javascript">
var mystr="Hello World!";
document.write( mystr.substr(6)+ "<br />");
document.write(mystr.substr(0,5));
</script>
</head>
<body>
</body>
</html>

★綜合應用1

掌握字符串方法的綜合應用:
編寫js函數,用于獲得輸入參數的后綴名,如輸入abc.txt,返回.txt

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>string綜合應用</title>
</head>
<body>
  <script>
      //獲取擴展名
      var url="http://baidu.com/index.txt";
      function getFileFormat(url){
        //獲取.在url中出現的位置
        var pos=url.lastIndexOf(".");
        return url.substr(pos);
      }
      var formatName=getFileFormat(url);
      var picForamt=getFileFormat("1231434.jpg");
      console.log(formatName);
      console.log(picForamt);
  </script>
</body>
</html>

【結果】:

★綜合應用2

將border-left-color 轉化為borderLeftColor駝峰形式

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>border-left-color轉化為borderLeftColor</title>
</head>
<body>
  <script>
    //border-left-color  borderLeftColor//駝峰形式
    function camelback(str){
        //通過-這個分隔符將str拆分成數組
        var arr=str.split("-"),newStr=arr[0];
        //console.log(arr);//["border","left","color"]
        //newStr="border";
        for(var i=1,len=arr.length;i<len;i++){
            var word=arr[i];
            //console.log(world);
            //將每一個單詞的首字母轉換為大寫,連接剩余字符
            newStr+=word.charAt(0).toUpperCase()+word.substr(1);
            //console.log(newStr);
            //newStr=borderLeftColor
        }
        return newStr;

    }
    var camelFormat=camelback("border-left-color");
    console.log(camelFormat);
  </script>
</body>
</html>

end.
本筆記整理自慕課網

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,117評論 6 537
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,860評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,128評論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,291評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,025評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,421評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,477評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,642評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,177評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,970評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,157評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,717評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,410評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,821評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,053評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,896評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,157評論 2 375

推薦閱讀更多精彩內容

  • 什么是對象JavaScript 中的所有事物都是對象,如:字符串、數值、數組、函數等,每個對象帶有屬性和方法。對象...
    阿r阿r閱讀 451評論 0 9
  • 變量命名、聲明、賦值 1.必須以字母、下劃線或美元符號開頭,后面可以跟字母、下劃線、美元符號和數字。2.變量名區分...
    wq04200閱讀 636評論 0 1
  • 1. 什么是對象 JavaScript 中的所有事物都是對象,如:字符串、數值、數組、函數等,每個對象帶有屬性和方...
    jasmine_jing閱讀 319評論 0 0
  • 第5章 引用類型(返回首頁) 本章內容 使用對象 創建并操作數組 理解基本的JavaScript類型 使用基本類型...
    大學一百閱讀 3,262評論 0 4
  • 1. javascript刪除元素節點 IE中有這樣一個方法:removeNode(),這個方法在IE下是好使的,...
    落魂灬閱讀 336評論 0 1