JavaScript常用字元串方法

来源:http://www.cnblogs.com/shouce/archive/2016/03/10/5260476.html
-Advertisement-
Play Games

獲取類: 1)動態方法: charAt : 獲取字元串指定位置上的字元。(參數:一個,指定要獲取的字元位置) 1,不接受負數,如果為負數,會返回一個空字元串。 2,如果不給參數,預設是獲取第0位置上的字元。 3,只接收一個參數。 charCodeAt : 獲取字元串中指定位置上字元的Unicode編


獲取類

1)動態方法:

charAt : 獲取字元串指定位置上的字元。(參數:一個,指定要獲取的字元位置)

1,不接受負數,如果為負數,會返回一個空字元串。

2,如果不給參數,預設是獲取第0位置上的字元。

3,只接收一個參數。

charCodeAt : 獲取字元串中指定位置上字元的Unicode編碼(參數: 一個,指定要獲取字元編碼的字元位置)

1,任何字元都有一個唯一的字元編碼。

2,只接收一個參數。

  常用:

    數字 : 48 ~ 57

    下劃線 : 95

    空格  : 32 

    製表符 : 9

    小寫字母 :97 ~ 122

    大寫字母 : 65 ~ 90

2)靜態方法:

fromCharCode : 根據指定的字元編碼返回對應的字元。(參數: 任意多個)

1,可以接收多個參數。

2,寫法是固定的(靜態方法):String.fromCharCode();   //字元編碼有效範圍 : 0 ~ 65535 String是字元串的對象

複製代碼
1 var str = '我是字元串';
2 alert( str.charAt( 2 ) );    //''    如果本身長度只有5,卻找str.charAt(12) 找不到也是空字元串’’,0~str.length-1是合法範圍。
3 alert( str.charAt( ) );      //'我'  預設不寫是0,找到第一個字元
4 alert( str.charAt(2) );      // '字'
5 alert( '1234'.charAt( 2 ) ); //3
6 alert( '1234'.charAt(2,3) ); //3
7 alert( str.charCodeAt( 2 ) );//23383 unicode編碼
8 alert( '1'.charCodeAt() );   // 49
9 alert(String.fromCharCode(23383 ,21619)); //'字味' 根據編碼轉換成字元(靜態方法)多個字元用 , 隔開
複製代碼

查找類

indexOf : 查找指定的子字元串在字元串中第一次出現的位置。(第一個參數,指定要查找的子字元串;第二個參數指定開始查找的位置。)

1,從前往後查找,預設從第0位置開始。

2,如果找到了,就返回第一次被查找到的位置,如果沒有找到,就返回 -1。

3,如果第二個參數為負數,預設當成0來處理

lastIndexOf : 查找指定的子字元串在字元串中最後一次出現的位置。(第一個參數,指定要查找的子字元串;第二個參數指定開始查找的位置。)

 1,從後往前查找,預設從第 length - 1 位置開始。

 2,如果找到了,就返回第一次被查找到的位置,如果沒有找到,就返回 -1。

1 var str = 'www.baidu.com/2015';
2 alert(str.indexOf('bai'));   //4  從左往右找找到一個就返回不會再往右找了
3 alert(str.indexOf('m',5))    //12 從第5位開始向右找
4 alert(str.indexOf('X'))      //-1 不存在的話結果是 -1 表示沒找到
5 alert(str.lastIndexOf('ww')); //1

截取類

substring : 提取指定範圍的一段子字元串。(第一個參數,指定要提取的開始位置;第二個參數,指定要提取的結束位置。)

1,提取範圍包括開始位置,但是不包括結束位置。

2,可以省略第二個參數,表示從開始位置提取到字元串結束

3,在提取之前會先比較兩個參數的大小,然後按從小到大的順序調整參數位置,再提取。

4,所有的非法參數都會自動轉化成0.

5,如果不給參數,預設直接返回整個字元串。

slice : 提取指定範圍的一段子字元串。(第一個參數,指定要提取的開始位置;第二個參數,指定要提取的結束位置。)

1,提取範圍包括開始位置,但是不包括結束位置。

2,可以省略第二個參數,表示從開始位置提取到字元串結束

3,不會比較兩個參數的位置,更不會調整位置的位置

4,參數可以是正數,也可以是負數,其它所有非法參數都會轉換成0。

5,負數表示從字元串的後面往前數字元位置,最一個字元的位置是 -1。

複製代碼
1 var str = '我是字元串';
2 alert(str.substring());     //'我是字元串'
3 alert(str.substring(-2,1)); //'我'
4 alert(str.substring(2));    //字元串
5 alert(str.substring(0,2));  //'我是' 與str.substring(2,0)是一樣的。可以檢測兩個數,大的往後仍,小的往前仍。負數當成0來處理。
6 alert(str.slice(2,0));        //空白 找不到,不交換位置
7 alert(str.slice(-2));         //'符串' 負數就是從後面倒著往前數
複製代碼

比較類

alert(‘我’>’你’); //true 字元串比較就比較第一個字元對應的Unicode值大小,後邊的就不比較了。 

其他類

alert(str.length); //獲取字元串長度

split() //把字元串切成數組

參數: 一個  指定一個分割符用來分割字元串。

1,如果不指定分割符,就不會分割,直接存入數組。

2,以分割符為依據,把分割符左右兩邊的值分別存入數組。

3,分割符本身不會存入數組。

4,分割符只能是字元串中存在的子字元串。

5,在split看來,兩個字元之間必須依靠空字元串連接。

6,當用空字元串去分割空字元串的時候,會得到一個空數組。

複製代碼
 1 var str = '1234';
 2 alert( typeof str ); //string
 3 alert( typeof str.split() ); //object
 4 alert( str.split().length ); //['1234']
 5 alert( str.split('2') );  //['1','34']
 6 alert( str.split('a') );  //['1234']
 7 alert( str.split('23') ); //['1','4']
 8 alert( str.split('').length ); //['1','2','3','4']
 9 alert( str.split('') );        //['1','2','3','4']
10 //'1234' 由五個 '' 加 四個字元組成
11 alert( str.split('1234') );//['','']
12 alert( str.split('1') );   //['','234']
13 alert( ''.split(' ').length ); //['']
14 alert( ''.split('').length );  //[]
15 //特例,只有這種情況下 split 才會返回空數組。
複製代碼

trim() : 去除字元串首尾的所有空格。(字元串中間的空格會保留)。

        html5的新方法,低版本瀏覽器不支持。

toUpperCase() : 把字元串全部轉換成大寫。(沒有參數)

toLowerCase() : 把字元串全部轉換成小寫。(沒有參數)

最後,所有的字元串方法,都不會修改字元串本身。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前段時間做個項目,是個網頁的聊天界面,聊天的內容使用flash製作,我需要將flash的swf插件放到頁面上,然後獲取聊天內容, 1.將文件在頁面上顯現出來: 如圖,正中間使用後臺製作出來的swf文件。 <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-4
  • 現在大部分企業對瀏覽器相容要求是IE7+或者IE8+,要求IE6的很少,此處一併寫出。 IE6: _margin-top: 20px; IE6+IE7: *margin-top: 20px; +margin-top: 20px; IE6+: margin-top: 20px\9; IE8+: mar
  • hggroup通常放在標簽內部,不過不做強制要求! ​adress 通常用於作者的聯繫信息。比如名字,Email,電話,地址。標簽內字體顯示斜體。 ​ 與 標簽的比較:比div簡潔,更少的用到id或class。 ​新佈局的優點: 1.更註重於內容而不是形式;​ ​2.對人的友好,更加直觀,增加了代碼
  • 7個你可能不認識的CSS單位 眾所周知CSS技術我們雖然很熟悉,在使用的過程卻很容易被困住,這讓我們在新問題出現的時候變得很不利。隨著web繼續不斷地發展,對於新技術新解決方案的要求也會不斷增長。因此,作為網頁設計師和前端開發人員,我們別無選擇,必須熟悉我們手上的工具,做到知己知彼,這樣才能百戰不殆
  • Node.js //傳入請求HttpRequest function getClientIp(req) { return req.headers['x-forwarded-for'] || req.connection.remoteAddress || req.socket.remoteAddres
  • 1、什麼是CSS hack? CSS hack是通過在CSS樣式中加入一些特殊的符號,讓不同的瀏覽器識別不同的符號(什麼樣的瀏覽器識別什麼樣的符號是有標準的,CSS hack就是讓你記住這個標準),以達到應用不同的CSS樣式的目的,比如.kwstu{width:300px;_width:200px;
  • 有一天,我想帶全家一起去旅游。我拿起手機,按了幾個鍵,說“查一下麗江的旅游路線”。頓時一幅巨大的圖畫,出現在面前的面前原來看上去平淡無奇的白牆上。我用手指點麗江地圖的一個個景點,秀麗山水的照片和視頻也隨之顯示在旁邊,就好像我們已經身臨其境一般。參考著Twitter的點評,我選擇了一條路線,以及住宿的
  • 一般來說我在需要寫一個遍歷的時候就先寫一個html測試頁面,用相同的結構來測試代碼。如下: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>jQuery遍歷測試</t
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...