我的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://”和“。”之间的所有内容,但是尽可能地尝试,我无法弄清楚正确的正则表达式。
答案 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/