替换几个网址中的子字符串

时间:2013-06-25 23:27:34

标签: jquery regex

我的HTML:

<select onchange="getval(this);">
  <option value="user1">user1</option>
  <option value="user2">user2</option>
  <option value="user3">user3</option>
</select> 


<a class="local" href="http://subDomain.www.mysite.com">Site</a>
<a class="local" href="http://subDomain.www.mysite.com/admin">Admin</a>
<a class="local" href="javascript:open_wins('http://subDomain.mysite.com', 'http://subDomain.mysite.com/admin');">Both</a>

我的剧本:

<script>
  function getval(sel) {
    $(document).ready(function() {

      var x = (sel.value);
      var regex = new RegExp(Globally replace the subdomain of urls on select change);

      $('.local').attr('href', function(i, val) {
        return val.replace(regex, x);
      });
    });
  }
</script>

我希望能够动态替换当前的子域字符串,例如user1,其中我选择了从表单中选择的选项值。

这个脚本可能不太优雅,但它可以替换url中的静态字符串。我要做的是替换“http://”和“。”之间的所有内容,但是尽可能地尝试,我无法弄清楚正确的正则表达式。

1 个答案:

答案 0 :(得分:2)

function getval(sel) {
    var x = (sel.value);
    var regex = new RegExp(/http:\/\/\w+\./g);
    $('.local').attr('href', function (i, val) {
        return val.replace(regex, "http://" + x + '.');
    });
}

这是一个工作小提琴:http://jsfiddle.net/3jbfD/