如何在特定字符串之后替换一部分输入值



我想替换一部分输入值,这是链接中的确切发布的值。YY参数的值必须替换为(ynewval(。

   yyNewval = '3xxxx';
   returnlink = $("input[name=return]"); 
   returnlink.val;

将为您提供:

的输出

http://www.test.com/xx=1&yy= 2xxxx

我想更改突出显示的(2xxxx(,这样(yy =(之后的所有内容。我知道如何替换整个输入值,但仅更改最后一个参数将更方便。

提前帮助您的帮助

尝试一下,我认为这是您需要的:(

function getUrlYYY(){
  var url_string = "http://www.example.com/t.html?yyy=123456789"; //window.location.href
  var url = new URL(url_string);
  var yyy = url.searchParams.get("yyy");
  console.log('the parameter in url yyy is '+ yyy);
  returnlink = $("input[name=return]"); 
  returnlink.val(yyy);
}
function setUrlYYY(){
// Get the queryString module from:
// https://github.com/sindresorhus/query-string
  returnlink = $("input[name=return]"); 
  console.log(window.location.search);
  // ?yyy=123456789
  var parsed = queryString.parse(location.search);
  console.log(parsed);
  // {yyy: '123456789'}
  parsed.yyy =  returnlink.val();
  location.search = queryString.stringify(parsed);
  console.log(location.search);
}
function updateQueryStringParam(param, value) {
  baseUrl = [location.protocol, '//', location.host, location.pathname].join('');
  urlQueryString = document.location.search;
  var newParam = key + '=' + value,
  params = '?' + newParam;
  // If the "search" string exists, then build params from it
  if (urlQueryString) {
    keyRegex = new RegExp('([?&])' + key + '[^&]*');
    // If param exists already, update it
    if (urlQueryString.match(keyRegex) !== null) {
      params = urlQueryString.replace(keyRegex, "$1" + newParam);
    } else { // Otherwise, add it to end of query string
      params = urlQueryString + '&' + newParam;
    }
  }
  window.history.replaceState({}, "", baseUrl + params);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input name='return'>
<button onclick=getUrlYYY()>get YYY</button>
<br>
<button onclick=setUrlYYY()>set YYY 1</button>
or
<br>
<button onclick=updateQueryStringParam(yyy,$("input[name=return]").val())>set YYY 2</button>

决定与Regex一起去。

  paymentcat = elem.attr('data-paymentcat');
  returnlink = $("input[name=return]");
  returnlinkVal = returnlink.val();
  reExp = /paymentcat=[a-zA-Z0-9 -'%]+/;
  newReturnlinkVal = returnlinkVal.replace(reExp, "paymentcat=" + paymentcat);
  returnlink.val(newReturnlinkVal);

虽然希望与URL/URLSearchParams相似

最新更新