欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

javascript replace()可不區分大小寫嗎?

admin
2024年11月16日 18:4 本文熱度 726

在javascript中,replace()函數可以利用正則表達式來不區分大小寫的替換字符串,語法“string.replace(/要查找的值/gi,"替換值")”;其中“g”代表全局替換,“i”代表忽略大小寫。

本教程操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

在javascript中,replace()函數可以不區分大小寫的替換字符串,這需要借助正則表達式。

replace() 方法用于在字符串中用一些字符替換另一些字符,或替換一個與正則表達式匹配的子串。

語法:

string.replace(searchvalue,newvalue)
參數描述
searchvalue必須。規定子字符串或要替換的模式的 RegExp 對象。
請注意,如果該值是一個字符串,則將它作為要檢索的直接量文本模式,而不是首先被轉換為 RegExp 對象。
newvalue必需。一個字符串值。規定了替換文本或生成替換文本的函數。

返回值:一個新的字符串,是用 replacement 替換了 regexp 的第一次匹配或所有匹配之后得到的。    

replace() 方法的第二個參數可以使用函數,當匹配時會調用該函數,函數的返回值將作為替換文本使用,同時函數可以接收以$為前綴的特殊字符,用來引用匹配文本的相關信息。

replace() 方法第二個參數中特殊字符
約定字符串說明
$1、$2、...、$99與正則表達式中的第 1~99 個子表達式相匹配的文本
$&(美元符號+連字符)與正則表達式相匹配的子字符串
$’(美元符號+切換技能鍵)位于匹配子字符串左側的文本
$'(美元符號+單引號)位于匹配字符串右側的文本
$$表示 $ 字符串

示例1

將字符串中的字符 a(不區分大小寫) 替換為 x

<p>將字符串中的字符 a(不區分大小寫) 替換為 x</p>


<script>

var sText = "abcdefaABC";

//g 代表全局替換  i 代表 忽略大小寫

var txt = sText.replace( /a/gi , "x");

document.getElementById("demo").innerHTML = txt;

</script>

輸出結果:

示例2

下面代碼把字符串中每個單詞轉換為首字母大寫形式顯示。

var s = 'javascript is script , is not java.';  //定義字符串

//定義替換文本函數,參數為第一個子表達式匹配文本

var f = function ($1) {

  //把匹配文本的首字母轉換為大寫

  return $1.substring(0,1).toUpperCase() + $1.substring(1).toLowerCase();}

var a = s.replace(/(w+)/g, f);  //匹配文本并進行替換

console.log(a);  //返回字符串“JavaScript Is Script , Is Not Java.”

在上面示例中替換函數的參數為特殊字符“$1”,它表示正則表達式 /(w+)/ 中小括號匹配的文本,然后在函數結構內對這個匹配文本進行處理,截取其首字母并轉換為大寫形式,余下字符全為小寫,然后返回新處理的字符串。replace() 方法是在原文本中使用這個返回的新字符串替換掉每次匹配的子字符串。

示例3

對于上面的示例還可以進一步延伸,使用小括號來獲取更多匹配信息。例如,直接利用小括號傳遞單詞的首字母,然后進行大小寫轉換處理,處理結果都是一樣的。

var s = 'javascript is script , is not java.';  //定義字符串

var f = function ($1,$2,$3) {  //定義替換文本函數,請注意參數的變化

  return $2.toUpperCase() + $3;

}

var a = s.replace(/(w+)/g, f);

console.log(a);

在函數 f() 中,第一個參數表示每次匹配的文本,第二個參數表示第一個小括號的子表達式所匹配的文本,即單詞的首字母,第二個參數表示第二個小括號的子表達式所匹配的文本。

replace() 方法的第二個參數是一個函數,replace() 方法會給它傳遞多個實參,這些實參都包含一定的意思,具體說明如下:

  • 第一個參數表示與匹配模式相匹配的文本,如上面示例中每次匹配的單詞字符串。

  • 其后的參數是與匹配模式中子表達式相匹配的字符串,參數個數不限,根據子表達式數而定。

  • 后面的參數是一個整數,表示匹配文本在字符串中的下標位置。

  • 最后一個參數表示字符串自身。

示例4

把上面示例中替換文本函數改為如下形式。

var f = function() {

  return arguments[1].toUpperCase() + arguments[2];

}

也就是說,如果不為函數傳遞形參,直接調用函數的 arguments 屬性同樣能夠讀取到正則表達式中相關匹配文本的信息。其中:

  • arguments[0]:表示每次匹配的文本,即單詞。

  • arguments[1]:表示第一個子表達式匹配的文本,即單詞的首個字母。

  • arguments[2]:表示第二個子表達式匹配的文本,即單詞的余下字母。

  • arguments[3]:表示匹配文本的下標位置,如第一個匹配單詞“javascript”的下標位置就是0,以此類推。

  • arguments[4]:表示要執行匹配的字符串,這里表示“javascript is script , is not java.”。


該文章在 2024/11/16 18:05:19 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved