! URL的校验,
条件:必须以 或 https:// 开头, 端口号必须为在1-65535 之间, 以下代码完成了合法性校验
//obj:数据对象
//dispStr :失败提示内容显示字符串
function checkUrlValid( obj, dispStr)
{
if(obj == null)
{
alert("传入对象为空");
return false;
}
var str = obj.value;
var urlpatern0 = /^https?:\/\/.$/i;
if(!urlpatern0.test(str))
{
alert(dispStr"不合法:必须以'http:\/\/'或'https:\/\/'开头!");
obj.focus();
return false;
}
var urlpatern2= /^https?:\/\/(([a-zA-Z0-9_-])(\.)?)*(:\d)?.$/i;
if(!urlpatern2.test(str))
{
alert(dispStr"端口号必须为数字且应在1-65535之间!");
obj.focus();
return false;
}
var urlpatern1 =/^https?:\/\/(([a-zA-Z0-9_-])(\.)?)*(:\d)?(\/((\.)?(\?)?=?&?[a-zA-Z0-9_-](\?)?)*)*$/i;
if(!urlpatern1.test(str))
{
alert(dispStr"不合法,请检查!");
obj.focus();
return false;
}
var s = "0";
var t =0;
var re = new RegExp(":\\d","ig");
while((arr = re.exec(str))!=null)
{
s = str.substring(RegExp.index1,RegExp.lastIndex);
if(s.substring(0,1)=="0")
{
alert(dispStr"端口号不能以0开头!");
obj.focus();
return false;
}
t = parseInt(s);
if(t<1 || t >65535)
{
alert(dispStr"端口号必须为数字且应在1-65535之间!");
obj.focus();
return false;
}
}
return true;
}
对url的校验,看上去有很多的代码,这是因为要给予出错提示, 否则只需var urlpatern1 =/^https?:\/\/(([a-zA-Z0-9_-])(\.)?)*(:\d)?(\/((\.)?(\?)?=?&?[a-zA-Z0-9_-](\?)?)*)*$/i; 一句就可以校验出url合法性了
正则表达式在JavaScript应用
--------------------------------------------------------------
去掉字符串头尾多余的空
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-32123-19.html
好漂亮