// JavaScript Document |
// 2013-3-8 |
//by:webjser |
//qq:442665203 |
//直接调用 Verify(value,RrgStr,fnJson)函数 返回值 true:成功 false:错误 |
//参数 arguments[0] value:进行验证的字符串 string |
// arguments[1] RrgStr:选择匹配的验证类型 string |
// arguments[2] fnJson:选择成功或者失败的回调函数 [可选参数:可以根据函数返回值进行其他操作] |
// json error:function(){} 失败回调函数 success:function(){} 成功回调函数 |
// |
//arguments[1] RrgStr 匹配验证列表 |
// HomeTel: 固定电话号码 |
// MobTel: 手机号码 |
// Email: 邮箱 |
// IdNumber: 身份证号 |
// Ip: IP地址 |
// Postcode: 邮政编码 |
// qq: QQ号码 |
// Url: url |
// NumEn: 字母和数字 |
// NumEnLine: 数字字母下划线 |
// Float: 验证小数 |
// |
// |
function Verify(value,RrgStr,fnJson) |
{ |
VerifyRrg={ |
'HomeTel' :/^[0-9]{3,4}\-[0-9]{7,8}$/, //固定电话号码 |
'MobTel' :/^1[3|4|5|8][0-9]\d{4,8}$/, //手机号码 |
'Email' :/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/, //邮箱 |
'IdNumber' :/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/, //身份证号 |
'Ip' :/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/, //IP地址 |
'Postcode' : /^[0-9]{6}$/, //邮政编码 |
'qq' :/[1-9][0-9]{4,}/, //QQ号码 |
'Url' : new RegExp(urlReg), //url |
'NumEn' :/^[A-Za-z0-9]+$/, //字母和数字 |
'NumEnLine' :/^[a-zA-Z0-9_]{1,}$/, //数字字母下划线 |
'Float' :/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d{1,})?$/ //验证小数 |
} |
if (value) |
{ |
var REG=VerifyRrg[RrgStr]; |
if (!REG.test(value)) |
{ |
if (fnJson.error&& typeof fnJson.error== 'function' ){fnJson.error();}; |
return false ; |
} |
else |
{ |
if (fnJson.success&& typeof fnJson.success== 'function' ){fnJson.success();} |
return true ; |
} |
} |
else { if (fnJson.error&& typeof fnJson.error== 'function' ){fnJson.error();}; return false ;} |
} |
var urlReg = "^((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. |
+ "([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_!~*'().;?:@&=+$,%#-]+)+/?)$" ; |
中级程序员
by: 尜尜 发表于:2015-12-30 10:15:41 顶(0) | 踩(0) 回复
多谢!
回复评论