簡體   English   中英

Javascript:替換reg exp

[英]Javascript : replace reg exp

我想更換不屬於字母的所有符號-但我的代碼無法正常工作:

 $reg = '/[^a-zA-Z]+/g';  
 $txt = $txt.replace($reg, '-');

我究竟做錯了什么?

JavaScript中的正則表達式不是字符串。

reg = /[^a-z]+/gi;
txt = txt.replace(reg, '-');

您不需要在它們周圍放置引號。

您需要取消對正則表達式字符串的引用,以便將其視為正則表達式文字,這樣就可以得到:

$reg = /[^a-zA-Z]+/g;  
$txt = $txt.replace($reg, '-');

除非使用new Regexp()表示法,否則JavaScript中的正則表達式不需要用字符串引用。 在上面的示例中,它現在是一個正則表達式文字 ,它不再被當作字符串,而是要在.replace()使用的一個正則表達式。

不要在正則表達式上使用引號。 沒有引號,它們是RegEx對象。 帶引號的只是字符串。

采用,

$reg = /[^a-zA-Z]+/g;

刪除正則表達式周圍的引號。

如果您打算將一個行中的多個非字母字符替換為一個連字符,則您的正則表達式將起作用。 如果要用多個連字符替換多個非字母字符,則還應刪除+號。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM