js用正则判断 一个链接是否有效

JavaScript022

js用正则判断 一个链接是否有效,第1张

if ($('input[name="iIsRedirect"]').prop('checked') &&p2['sRedirectURL'] != '') {

var sRedirectURL = $('input[name="sRedirectURL"]').val(),

reg = /(http:\/\/|https:\/\/)((\w|=|\?|\.|\/|&|-)+)/g //正则表达式判断http://https:// 为合法

objExp = new RegExp(reg)

if (objExp.test(sRedirectURL) != true) {

layer.alert('跳转地址不正确!')

return

}

}

reg = /^(http:\/\/|^https:\/\/|^\/\/)((\w|=|\?|\.|\/|&|-)+)/g//正则表达式判断http://https://

// 开头都为合法

此方法判断 获取到的一个url跟正则匹配 是否是有效地址

//校验是否全由数字组成

function isDigit(s)

{

var patrn=/^[0-9]{1,20}$/

if (!patrn.exec(s)) return false

return true

}

//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串

function isRegisterUserName(s)

{

var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/

if (!patrn.exec(s)) return false

return true

}

//校验用户姓名:只能输入1-30个以字母开头的字串

function isTrueName(s)

{

var patrn=/^[a-zA-Z]{1,30}$/

if (!patrn.exec(s)) return false

return true

}

//校验密码:只能输入6-20个字母、数字、下划线

function isPasswd(s)

{

var patrn=/^(\w){6,20}$/

if (!patrn.exec(s)) return false

return true

}

//校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-”

function isTel(s)

{

//var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/

var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/

if (!patrn.exec(s)) return false

return true

}

//校验手机号码:必须以数字开头,除数字外,可含有“-”

function isMobil(s)

{

var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/

if (!patrn.exec(s)) return false

return true

}

//校验邮政编码

function isPostalCode(s)

{

//var patrn=/^[a-zA-Z0-9]{3,12}$/

var patrn=/^[a-zA-Z0-9 ]{3,12}$/

if (!patrn.exec(s)) return false

return true

}

//校验搜索关键字

function isSearch(s)

{

var patrn=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:'\,.<>/?]{1}[^`~!@$%^&()+=|\\\][\]\{\}:'\,.<>?]{0,19}$/

if (!patrn.exec(s)) return false

return true

}

function isIP(s) //by zergling

{

var patrn=/^[0-9.]{1,20}$/

if (!patrn.exec(s)) return false

return true

} 网上找的。你看看!

5月28日 01:08 \d表示任何数字(0-9)

{1,2}表示最少1位,最多2位数字

^开头$结尾表示从来源验证字符串只能位于这两者之间

也就是说传入一个字符串的话,从这个字符串的开始到结尾都用这个正则表达式匹配

该回答在5月28日 01:11由回答者修改过