匹配并删除所有内容,包括" ="在正则表达式的字符串中

时间:2015-05-29 18:32:48

标签: javascript jquery regex

鉴于网址:http://localhost:3000/test/tagger.html?id=31415我需要删除所有内容,包括=符号,并将等号右侧的值设置为TextBox字段。我有以下匹配等号,但保留它。我该如何删除它?

var url = "http://localhost:3000/test/tagger.html?id=31415"; 
var regex = /=.*/; // match '=' and capture everything that follows
var accountId = url.match(regex);
$(".accountNumber").val(accountId);

Fiddle Demo

5 个答案:

答案 0 :(得分:4)

您也可以使用

var accountId = url.substr(url.indexOf("=") + 1); //Returns everything after `=`

修改

要检查网址中是否存在=,我们可以像这样简单地添加if

if(url.indexOf("=") != -1){
  var accountId = url.substr(url.indexOf("=") + 1); //Returns everything after `=`
}

答案 1 :(得分:2)

您可以使用捕获组:

/=(.*)/

或许,更好的解决方案是使用

检查id数值
/\bid=(\d+)/

然后通过第1组访问此值:

var accountId = url.match(regex)[1];

请参阅updated demo

var url = "http://localhost:3000/test/tagger.html?id=31415"; 
var regex = /\bid=(\d+)/; 
var accountId = url.match(regex)[1];
$(".accountNumber").val(accountId);

答案 2 :(得分:0)



var url = "http://localhost:3000/test/tagger.html?id=31415"; 
var regex = /=(.*)/; // match '=' and capture everything that follows
var accountId = url.match(regex);
$(".accountNumber").val(accountId[1]);

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<input type='text' class="accountNumber">
&#13;
&#13;
&#13;

捕获小组=(.*)

accountId[1]将捕获括号内的内容

答案 3 :(得分:0)

var url = "http://localhost:3000/test/tagger.html?id=31415"; 
var arr = url.split("=");
var val = arr[1];

答案 4 :(得分:0)

这将删除所有内容,包括第一个'='

var regex = /^[^=]*=/; // match '=' and capture everything that follows
var accountId = url.replace(regex, '');