簡體   English   中英

Javascript RegExp查找並替換空方括號

[英]Javascript RegExp find and replace empty square brackets

我有一個包含name="text_field_1[]"類的字符串,我需要查找並替換'1[]'部分,以便我可以像'2[]''3[]'等那樣增加。

碼:

$search = new RegExp('1[]', 'g');
$replace = $number + '[]';
$html = $html.replace($search, $replace)

您可以在正則表達式中使用\\d表示在[]之前使用的onlu數字。 你還需要轉義[]因為它是regexp中的特殊字符。

$search = new RegExp('\\d+\\[\\]', 'g');
$replace = $number + '[]';
$html = $html.replace($search, $replace)

代碼: http//jsfiddle.net/VJYkc/1/

您可以使用回調。

var $counter = 0;

$html = $html.replace(/1\[\]/g, function(){
    ++$counter;
    return $counter+'[]';
});

如果您需要[]前面有任何數字,您可以使用\\d

var $counter = 0;
$html = $html.replace(/\d\[\]/g, function(){
    ++$counter;
    return $counter+'[]';
});

注意:

  • 逃避括號,因為它們在正則表達式中很特殊。
  • 確保在$html中只有你需要替換的模式,否則它將替換所有1[]

必須在正則表達式中轉義大括號...

var yourString="text-field_1[]";
var match=yourString.match(/(\d+)\[\]/);
yourString=yourString.replace(match[0], parseInt(match[1]++)+"[]");

這是有趣的事情。 您可以將函數傳遞給string.replace

  var re = /(\d+)(\[\])/g/;
  html = html.replace(re, function(fullMatch, value, braces) {
    return (parseInt(value, 10)+1) + braces;
  }

現在,您可以替換字符串中的多個#[]實例。

暫無
暫無

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

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