看不懂楼主的意思,楼主是想要字符串替换函数吧?给楼主两个字符串替换函数:
function stringReplace(originalString,findText,replaceText)
{
var pos = 0;
var len = findText.length;
pos = originalString.indexOf(findText);
while(pos != -1)
{
preString = originalString.substring(0,pos);
postString = originalString.substring(pos + len,originalString.length);
originalString = preString + replaceText + postString;
pos = originalString.indexOf(findText);
}
return originalString;
}function replaceSubstring(inputString, fromString, toString) {
var temp = inputString;
if (fromString == "") {
return inputString;
}
if (toString.indexOf(fromString) == -1) {
while (temp.indexOf(fromString) != -1) {
var toTheLeft = temp.substring(0, temp.indexOf(fromString));
var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
temp = toTheLeft + toString + toTheRight;
}
} else {
var midStrings = new Array("~", "`", "_", "^", "#");
var midStringLen = 1;
var midString = "";
while (midString == "") {
for (var i=0; i < midStrings.length; i++) {
var tempMidString = "";
for (var j=0; j < midStringLen; j++) { tempMidString += midStrings; }
if (fromString.indexOf(tempMidString) == -1) {
midString = tempMidString;
i = midStrings.length + 1;
}
}
}
while (temp.indexOf(fromString) != -1) {
var toTheLeft = temp.substring(0, temp.indexOf(fromString));
var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
temp = toTheLeft + midString + toTheRight;
}
while (temp.indexOf(midString) != -1) {
var toTheLeft = temp.substring(0, temp.indexOf(midString));
var toTheRight = temp.substring(temp.indexOf(midString)+midString.length, temp.length);
temp = toTheLeft + toString + toTheRight;
}
}
return temp;
}
function stringReplace(originalString,findText,replaceText)
{
var pos = 0;
var len = findText.length;
pos = originalString.indexOf(findText);
while(pos != -1)
{
preString = originalString.substring(0,pos);
postString = originalString.substring(pos + len,originalString.length);
originalString = preString + replaceText + postString;
pos = originalString.indexOf(findText);
}
return originalString;
}function replaceSubstring(inputString, fromString, toString) {
var temp = inputString;
if (fromString == "") {
return inputString;
}
if (toString.indexOf(fromString) == -1) {
while (temp.indexOf(fromString) != -1) {
var toTheLeft = temp.substring(0, temp.indexOf(fromString));
var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
temp = toTheLeft + toString + toTheRight;
}
} else {
var midStrings = new Array("~", "`", "_", "^", "#");
var midStringLen = 1;
var midString = "";
while (midString == "") {
for (var i=0; i < midStrings.length; i++) {
var tempMidString = "";
for (var j=0; j < midStringLen; j++) { tempMidString += midStrings; }
if (fromString.indexOf(tempMidString) == -1) {
midString = tempMidString;
i = midStrings.length + 1;
}
}
}
while (temp.indexOf(fromString) != -1) {
var toTheLeft = temp.substring(0, temp.indexOf(fromString));
var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
temp = toTheLeft + midString + toTheRight;
}
while (temp.indexOf(midString) != -1) {
var toTheLeft = temp.substring(0, temp.indexOf(midString));
var toTheRight = temp.substring(temp.indexOf(midString)+midString.length, temp.length);
temp = toTheLeft + toString + toTheRight;
}
}
return temp;
}
function stringReplace(originalString,findText,replaceText)
{
var pos = 0;
var len = findText.length;
pos = originalString.indexOf(findText);
while(pos != -1)
{
preString = originalString.substring(0,pos);
postString = originalString.substring(pos + len,originalString.length);
originalString = preString + replaceText + postString;
pos = originalString.indexOf(findText);
}
return originalString;
}function replaceSubstring(inputString, fromString, toString) {
var temp = inputString;
if (fromString == "") {
return inputString;
}
if (toString.indexOf(fromString) == -1) {
while (temp.indexOf(fromString) != -1) {
var toTheLeft = temp.substring(0, temp.indexOf(fromString));
var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
temp = toTheLeft + toString + toTheRight;
}
} else {
var midStrings = new Array("~", "`", "_", "^", "#");
var midStringLen = 1;
var midString = "";
while (midString == "") {
for (var i=0; i < midStrings.length; i++) {
var tempMidString = "";
for (var j=0; j < midStringLen; j++) { tempMidString += midStrings; }
if (fromString.indexOf(tempMidString) == -1) {
midString = tempMidString;
i = midStrings.length + 1;
}
}
}
while (temp.indexOf(fromString) != -1) {
var toTheLeft = temp.substring(0, temp.indexOf(fromString));
var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
temp = toTheLeft + midString + toTheRight;
}
while (temp.indexOf(midString) != -1) {
var toTheLeft = temp.substring(0, temp.indexOf(midString));
var toTheRight = temp.substring(temp.indexOf(midString)+midString.length, temp.length);
temp = toTheLeft + toString + toTheRight;
}
}
return temp;
}
比如这样可以跳转链接到sina
location.href = "http://www.sina.com";我猜楼主要的是这个效果吧?
<script>
function stringReplace(originalString,findText,replaceText)
{
var pos = 0;
var len = findText.length;
pos = originalString.indexOf(findText);
while(pos != -1)
{
preString = originalString.substring(0,pos);
postString = originalString.substring(pos + len,originalString.length);
originalString = preString + replaceText + postString;
pos = originalString.indexOf(findText);
}
return originalString;
} function changeUrl(findText, replaceText){
location.href = stringReplace(location.href, findText, replaceText);
}
</script><input type="button" onclick="changeUrl('id','99')" />
function changeURLPar(destiny, par, par_value)
{
var pattern = par+'=([^&]*)';
var replaceText = par+'='+par_value;
if (destiny.match(pattern))
{
var tmp = '/\\'+par+'=[^&]*/';
tmp = destiny.replace(eval(tmp), replaceText);
return (tmp);
}
else
{
if (destiny.match('[\?]'))
{
return destiny+'&'+ replaceText;
}
else
{
return destiny+'?'+replaceText;
}
}
return destiny+'\n'+par+'\n'+par_value;
}
楼主可以这样写:
onClick="location.href = changeURLPar('http://www.abc.com/test.jsp?id=%25u4E1C%25u5317','id','99')";
记住,字符串要加引号,要修改链接就要给location.href赋值
不过你4楼写的是错的,我测试过!
<a href="http://www.google.com" Onclick="this.disabled=true">google</a>试试?
这样吧,忘了写在新窗口打开