再求一个匹配URL的正则表达式 第三条的意思是,像淘宝一样,如果是发布的商品含有其它网址信息的就会过滤掉,如果是含有taobao.com的就不会被过滤。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 第三条的意思是,像淘宝一样,如果是发布的商品含有其它网址信息的就会过滤掉,如果是含有taobao.com的就不会被过滤。但是就算有人发布http://www.xx.com/taoba.com/abc.html这些信息,也就是故意欺骗系统的,还是会被认出来的,还是会被过滤掉的。 function IsURL(str_url){ var strRegex = "^((https|http|ftp|rtsp|mms)?://)" + "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" //ftp的user@ + "(([0-9]{1,3}\.){3}[0-9]{1,3}" // IP形式的URL- 199.194.52.184 + "|" // 允许IP和DOMAIN(域名) + "([0-9a-z_!~*'()-]+\.)*" // 域名- www. + "[^{myside.com}]([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\." // 二级域名 + "[a-z]{2,6})" // first level domain- .com or .museum + "(:[0-9]{1,4})?" // 端口- :80 + "((/?)|" // a slash isn't required if there is no file name + "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$"; var re=new RegExp(strRegex); //re.test() if (re.test(str_url)){ return (true); }else{ return (false); } }试试 var isDomain = function(domain){ //出除两边空格 var _this = domain.replace(/(^\s*)|(\s*$)/g,"").toLowerCase(); //是否输入“http://”? var regular = /[a-zA-z]+:\/\/(.*)/; if(!regular.test(_this)){ _this = 'http://'+_this; } regular = /\b((https?|ftp):\/\/[-a-z0-9]+(\.[-a-z0-9]+)*\.(?:com|edu|gov|int|mil|net|org|biz|info|name|museum|coop|aero|[a-z][a-z]|((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]\d)|\d))\b(\/[-a-z0-9_:\@&?=+,.!/~%\$]*)?)/; return regular.test(_this);}; 楼上的似乎都不行哦,我用的是这个:/(?:https?|ftp):\/\/[^{mysite\.com}]([^\s""'>]+)/用了这个差不多了,但是这个如果链接href为http://www.mysite.com的时候,又识别不了了,只有当href为http://mysite.com的时候才识别得了。麻烦大家帮忙修改下。 我的那个http://www.mysite.com和http://mysite.com都可以啊...只是没做前面的引号和协议而已... natineprince,我用了你那个不行哦,我在ASP里调用时用你那个reg.Pattern = "^((https|http|ftp|rtsp|mms)?://)" + "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" + "(([0-9]{1,3}\.){3}[0-9]{1,3}" + "|" + "([0-9a-z_!~*'()-]+\.)*" + "[^{mysite.com}]([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\." + "[a-z]{2,6})" + "(:[0-9]{1,4})?" + "((/?)|" + "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$"然后测试了不行 jQuery 源码的疑问 闭包问题?求大牛给个解释! 关于倒计时程序 IE地址跳转 关于形成5月31日时间对象的问题 求一个Javascript实现的任意进制转换程序 这个用JAVASCRIPT的REGEXP怎么表示 javascript 可以脱离html使用吗? JS问题 ajaxpost提交怎么避免url自动加上参数 ie下image对象得到高度宽度不准确,ff下正常 单选按钮不能触发onclick事件问题
function IsURL(str_url){
var strRegex = "^((https|http|ftp|rtsp|mms)?://)"
+ "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" //ftp的user@
+ "(([0-9]{1,3}\.){3}[0-9]{1,3}" // IP形式的URL- 199.194.52.184
+ "|" // 允许IP和DOMAIN(域名)
+ "([0-9a-z_!~*'()-]+\.)*" // 域名- www.
+ "[^{myside.com}]([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\." // 二级域名
+ "[a-z]{2,6})" // first level domain- .com or .museum
+ "(:[0-9]{1,4})?" // 端口- :80
+ "((/?)|" // a slash isn't required if there is no file name
+ "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$";
var re=new RegExp(strRegex);
//re.test()
if (re.test(str_url)){
return (true);
}else{
return (false);
}
}
试试
var _this = domain.replace(/(^\s*)|(\s*$)/g,"").toLowerCase(); //是否输入“http://”?
var regular = /[a-zA-z]+:\/\/(.*)/; if(!regular.test(_this)){ _this = 'http://'+_this; } regular = /\b((https?|ftp):\/\/[-a-z0-9]+(\.[-a-z0-9]+)*\.(?:com|edu|gov|int|mil|net|org|biz|info|name|museum|coop|aero|[a-z][a-z]|((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]\d)|\d))\b(\/[-a-z0-9_:\@&?=+,.!/~%\$]*)?)/; return regular.test(_this);};
/(?:https?|ftp):\/\/[^{mysite\.com}]([^\s""'>]+)/
用了这个差不多了,但是这个如果链接href为http://www.mysite.com的时候,又识别不了了,只有当href为http://mysite.com的时候才识别得了。麻烦大家帮忙修改下。
reg.Pattern = "^((https|http|ftp|rtsp|mms)?://)" + "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" + "(([0-9]{1,3}\.){3}[0-9]{1,3}" + "|" + "([0-9a-z_!~*'()-]+\.)*" + "[^{mysite.com}]([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\." + "[a-z]{2,6})" + "(:[0-9]{1,4})?" + "((/?)|" + "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$"
然后测试了不行