//完成url重定的URL整理工作
function Replace()
{
//正则表达式,匹配"http://"或"https://"的字符串,即url。不区分大小写,全程匹配。
var reg=/(https?:\/\/\S+)/gi
//这个,呵呵,就是获取id为"ta"的元素,赋值给ta变量
var ta=document.getElementById("ta");
//处理它元素的值。如过该值中有复核reg正则表达式的匹配,全部在前面加上"http://www.yi3.cn/tu.asp?url="
ta.value=ta.value.replace(reg,"http://www.yi13.cn/tu.asp?url=$1");
}
解决方案 »
- 为什么我的Jquery代码在firfox中运行正常在Ie上也可以运行但是左下角却有错误提示说缺少对象?
- 表单的文本域我在代码里面设置好他的宽度了 在浏览的时候又变成他默认的大小
- 请教一个关于COOKIE失效的问题
- 有关简单的响应式效果
- scroll: no 已经加了,showModalDialog为何还有滚动条呢?
- 动态在表中增加行、列的问题
- 如何得知图片的类型和长宽,高手请入
- 请问哪里有JavaScript打包教程下载??
- 根底深厚者请进
- google地图api不能访问(maps.googleapis.com)
- 今天用jsEclipse写脚本,用紫光拼音V6时崩溃了两次。求在Eclipse平台下稳定的输入法
- javascript如何修改页面值?在线等....
如果表单中的值http://的值已经加上http://www.yi3.cn/tu.asp?url=则就不用再加上http://www.yi3.cn/tu.asp?url=
reg=/https?:\/\/(?!www.yi3.cn/tu.asp?url=)\S+/gi
ta.value.replace(reg,"http://www.yi13.cn/tu.asp?url=$1$2")
function trim(str){
return str.replace(/\s*(\S+\s*)*)/,"$1").replace(/((\s*\S+)*)\s*/,"$1");
}
function isURL(str){
str = trim(str);
return /^(http|https):\/\/(([A-Z0-9][A-Z0=9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(:(\d+))?\/?/i.test(str);
}
function Replace()
{
var ta=document.getElementById("ta");
var s = ta.value;
var u = "http://www.yi3.cn/tu.asp"
if(isURL(s) && s.indexOf("u")==-1)
ta.value = u + "?url=" + trim(s);
}
测试后错误,说缺少对象
<script>
function trim(str){
return str.replace(/\s*(\S+\s*)*)/,"$1").replace(/((\s*\S+)*)\s*/,"$1");
}
function isURL(str){
str = trim(str);
return /^(http|https):\/\/(([A-Z0-9][A-Z0=9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(:(\d+))?\/?/i.test(str);
}
function Replace()
{
var ta=document.getElementById("ta");
var s = ta.value;
var u = "http://www.yi3.cn/tu.asp"
if(isURL(s) && s.indexOf("u")==-1)
ta.value = u + "?url=" + trim(s);
}
</script> <textarea id="ta"> </textarea> <br/>
<input type='button' value='提交' onclick='Replace()'/>
<script>
function trim(str){
return str.replace(/\s*((\S+\s*)*)/,"$1").replace(/((\s*\S+)*)\s*/,"$1");
}
function isURL(str){
str = trim(str);
return /^(http|https):\/\/(([A-Z0-9][A-Z0=9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(:(\d+))?\/?/i.test(str);
}
function Replace()
{
var ta=document.getElementById("ta");
var s = ta.value;
var u = "http://www.yi3.cn/tu.asp"
if(isURL(s) && s.indexOf("u")==-1)
ta.value = u + "?url=" + trim(s);
}
</script> <textarea id="ta"> </textarea> <br/>
<input type='button' value='提交' onclick='Replace()'/>
但还是有点问题!当然输入三个图片地址测试:
http://www.tom.com/001.jpg
http://www.tom.com/002.jpg
http://www.tom.com/003.jpg提交后只改变第一个图片地址:
http://www.yi3.cn/tu.asp?url=http://www.tom.com/001.jpg
http://www.tom.com/002.jpg
http://www.tom.com/003.jpg我想要全部含有http://的都加上http://www.yi3.cn/tu.asp?url=
才可以!
你输入多少个都当作一个来处理了!
var s, ss;
var s = "The rain in Spain falls mainly in the plain.";
// 在每个空格字符处进行分解。
ss = s.split(" ");
return(ss);
}
给你个例子
<script>
function trim(str){
return str.replace(/\s*((\S+\s*)*)/,"$1").replace(/((\s*\S+)*)\s*/,"$1");
}
function Replace()
{
var ta=document.getElementById("ta");
var s = trim(ta.value);
var u = "http://www.yi3.cn/tu.asp"
var a = s.match(/^(http|https):\/\/(([A-Z0-9]\w*)(\.[A-Z0-9]\w*)+)(:(\d+))?\/?(([A-Z0-9]\w*)(\.[A-Z0-9]\w*)*)/img);
var res = "";
for(var i=0,len=a.length;i<len;i++){
s = trim(a[i]);
if(s.indexOf("u")==-1)
if(res)res += "\n";
res += u + "?url=" + s;
}
if(res) ta.value = res;
}
</script> <textarea id="ta"> </textarea> <br/>
<input type='button' value='提交' onclick='Replace()'/>
还是有点问题
这个输入三个图片地址后,是全部可以加http://www.yi3.cn/tu.asp?url=http://www.yi3.cn/tu.asp?url=http://www.tom.com/001.jpg
http://www.yi3.cn/tu.asp?url=http://www.tom.com/002.jpg
http://www.yi3.cn/tu.asp?url=http://www.tom.com/003.jpg但是当然输入:
http://www.yi3.cn/tu.asp?url=http://www.tom.com/001.jpg
http://www.yi3.cn/tu.asp?url=http://www.tom.com/002.jpg
http://www.yi3.cn/tu.asp?url=http://www.tom.com/003.jpg就变成:
http://www.yi3.cn/tu.asp?url=http://www.yi3.cn/tu.asphttp://www.yi3.cn/tu.asp?url=http://www.yi3.cn/tu.asphttp://www.yi3.cn/tu.asp?url=http://www.yi3.cn/tu.asp这个效果又没实现
如果表单中的值http://的值已经加上http://www.yi3.cn/tu.asp?url=则就不用再加上http://www.yi3.cn/tu.asp?url=
{
var ta=document.getElementById("ta");
var s = ta.value;
var u = "http://www.yi3.cn/tu.asp"
if(isURL(s) && s.indexOf("u")==-1)
ta.value = u + "?url=" + trim(s);
}
</script>
跟这个结合!明白了吗?
if(res)res += "\n";
res += u + "?url=" + s;
var u = "http://www.yi3.cn/tu.asp"
if(isURL(s) && s.indexOf("u")==-1)
ta.value = u + "?url=" + trim(s);
}
你看看这2个区别在哪??
我教你看你都不看???
<script>
function trim(str){
return str.replace(/\s*((\S+\s*)*)/,"$1").replace(/((\s*\S+)*)\s*/,"$1");
}
function Replace()
{
var ta=document.getElementById("ta");
var s = trim(ta.value);
var u = "http://www.yi3.cn/tu.asp"
var a = s.match(/^(http|https):\/\/(([A-Z0-9]\w*)(\.[A-Z0-9]\w*)+)(:(\d+))?\/?(([A-Z0-9]\w*)(\.[A-Z0-9]\w*)*)(\??\w+=?[\s\S\w\W]*)?/img);
var res = "";
for(var i=0,len=a.length;i<len;i++){
s = trim(a[i]);
if(s.indexOf(u)==-1){
if(res)res += "\n";
res += u + "?url=" + s;
}
}
if(res) ta.value = res;
}
</script> <textarea id="ta"> </textarea> <br/>
<input type='button' value='提交' onclick='Replace()'/>
再帮写段代码:
非常感谢!
--------------------------------------如果表单中的图片地址已经含有这个域名:http://www.yi13.cn
则不用加上:http://www.yi3.cn/tu.asp?url=
否则加上:http://www.yi3.cn/tu.asp?url=再如果图片地址已经加上:http://www.yi3.cn/tu.asp?url=
则就不用再加上:http://www.yi3.cn/tu.asp?url=
做法基本于上面没太大的区别,就是多加了一个else判断
csdn还真有意思。
改成:var u = "http://www.yi3.cn"
试试。
改成:var u = "http://www.yi3.cn" 输入:
http://www.tom.com/001.jpg
http://www.tom.com/002.jpg
http://www.tom.com/003.jpg 提交后:
http://www.yi3.cn?url=http://www.tom.com/001.jpg
http://www.yi3.cn?url=http://www.tom.com/002.jpg
http://www.yi3.cn?url=http://www.tom.com/003.jpg不正常!