var tool = {
/**
* 非空标记
*
* @param requiredInputArray 一维字符串数组
*/
inputRequired:function(requiredInputArray){
$.each(requiredInputArray, function(){
if($("[id='"+this+"']:last").attr("placeholder")!="*"){
$("[id='"+this+"']:last").attr("placeholder", "*").css('','');
}
});
},
/**
* 非空校验
*
* @param requiredInputArray 校验的字符串数组
* @return true:有空值 false:没有空值
*/
isNull: function (requiredInputArray) {
var isNonNull = false;
$.each(requiredInputArray, function () {
if ($.trim($("#" + this).val()) == "") {
$("#" + this).focus();
isNonNull = true;
return isNonNull;
}
});
return isNonNull;
},
/**
* 用户名格式验证(用户名只能以字母开头,由字母、数字组成的长度为2-50的字符串)
*
* @param username 用户名
* @return true:不正确 false:正确
*
**/
isUsername: function (username) {
if (!/[A-Za-z][A-Za-z0-9]{1,49}$/.test(username)) {
return true;
}
return false;
},
/**
* 验证email格式
*
* @param email
* @return true:不正确 false:正确
**/
isEmail: function (email) {
if (!/^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]+$/.test(email)) {
return true;
} else {
return false;
}
},
/**
* 前后密码是否一致
*
* @param pwd1 密码1
* @param pwd2 密码2
* @return true:一致 false:不一致
**/
isPwdEqual: function (pwd1, pwd2) {
if (pwd1 != pwd2) {
return false;
}
return true;
},
/**
* 密码不能少于len位(缺省长度时为6位)
*
* @param pwd 密码
* @param len 长度(缺省时为6位)
* @return true:合格 false:不合格
**/
isPwd: function (pwd) {
var len = 6;// 默认6位
if(arguments[1]!=null){
len = arguments[1];
}
if ($.trim(pwd).length < len) {
return false;
}
return true;
},
/**
* 身份证格式验证:
* 1、身份证号合法性验证
* 2、支持15位和18位身份证号
* 3、支持地址编码、出生日期、校验位验证
*
* @param code 身份证
* @return true:正确 false:格式不正确
**/
isCertificate: function (code) {
var city={
11:"北京",
12:"天津",
13:"河北",
14:"山西",
15:"内蒙古",
21:"辽宁",
22:"吉林",
23:"黑龙江 ",
31:"上海",
32:"江苏",
33:"浙江",
34:"安徽",
35:"福建",
36:"江西",
37:"山东",
41:"河南",
42:"湖北 ",
43:"湖南",
44:"广东",
45:"广西",
46:"海南",
50:"重庆",
51:"四川",
52:"贵州",
53:"云南",
54:"西藏 ",
61:"陕西",
62:"甘肃",
63:"青海",
64:"宁夏",
65:"新疆",
71:"台湾",
81:"香港",
82:"澳门",
91:"国外 "
};
var tip = "";
var pass= true;
if (!code || !/^[1-9][0-9]{5}(19[0-9]{2}|200[0-9]|2010)(0[1-9]|1[0-2])(0[1-9]|[12][0-9]|3[01])[0-9]{3}[0-9xX]$/i.test(code)) {
tip = "身份证号格式错误";
pass = false;
}
else if(!city[code.substr(0,2)]){
tip = "身份证号地址编码错误";
pass = false;
}
else{
//18位身份证需要验证最后一位校验位
if(code.length == 18){
code = code.split('');
//∑(ai×Wi)(mod 11)
//加权因子
var factor = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ];
//校验位
var parity = [ 1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2 ];
var sum = 0;
var ai = 0;
var wi = 0;
for (var i = 0; i < 17; i++)
{
ai = code[i];
wi = factor[i];
sum += ai * wi;
}
var last = parity[sum % 11];
if(parity[sum % 11] != code[17]){
tip = "身份证号校验位错误";
pass =false;
}
}
}
if(!pass) alert(tip);
return pass;
},
/**
* qq验证
*
* @param qq
* @return true:正确 false:格式不正确
**/
isQQ:function(qq){
if (/^[1-9]\d{4,9}$/i.test(qq)) {
$("#qq").focus();
return false;
} else{
return true;
}
},
/**
* 电话验证
*
* @param telphone 电话
* @return true:格式不正确 false:格式正确
**/
isPhone: function (telphone) {
if (!/^1[3|4|5|7|8]\d{9}$/.test(telphone)) {
return true;
} else {
return false;
}
},
/**
* 日期格式化
*
* @param date 日期对象
* @param fmt 日期格式
* @return 格式化后的日期字符串
**/
dateFormat: function (date, fmt) {
var o = {
"M+": date.getMonth() + 1, //月份
"d+": date.getDate(), //日
"h+": date.getHours(), //小时
"m+": date.getMinutes(), //分
"s+": date.getSeconds(), //秒
"q+": Math.floor((date.getMonth() + 3) / 3), //季度
"S": date.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt))
fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
},
/**
* 删掉“2011-01-01 12:21:22.0”中的“.0”
*
* @param str 待处理的日期字符串
* @return 处理后的字符串
**/
deleteTimeDot:function(str){
return str.replace('.0', '');
},
/**
* 获取url中的参数值
*
* @param item url的参数
* @return url参数的值
**/
queryString: function (item) {
var svalue = location.search.match(new RegExp("[\?\&]" + item + "=([^\&]*)(\&?)", "i"));
return svalue ? svalue[1] : svalue;
},
/**
* 设置cookie
*
* @param name cookie的key
* @param value cookie的value
**/
setCookie: function (name, value)
{
var Days = 30 * 24 * 60 * 60 * 1000;
var exp = new Date();
exp.setTime(exp.getTime() + Days);
document.cookie = name + "=" + encodeURIComponent(value) + ";expires=" + exp.toGMTString() + "; path=/";
},
/**
* 读取key为name的cookies
*
* @param name cookie的key
* @return cookie的值
**/
getCookie: function (name)
{
var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
if (arr = document.cookie.match(reg)) {
return decodeURIComponent(arr[2]);
} else {
return "";
}
},
/**
* 删除key为name的cookie
*
* @param name cookie的key
**/
delCookie: function (name)
{
var cval = tool.getCookie(name);
if (cval != "") {
document.cookie = name + "=" + cval + ";expires=" + new Date(0).toGMTString() + "; path=/";
}
},
/**
* 删除所有的cookie
**/
clearCookie:function (){
var keys=document.cookie.match(/[^ =;]+(?=\=)/g);
if (keys) {
for (var i = keys.length; i--;){
document.cookie=keys[i]+'=0;expires=' + new Date(0).toUTCString() + "; path=/";
}
}
},
/**
* 截取字符串长度(默认截取20个长度)
*
* @param text 要截取的字符串
* @param long 截取的长度(缺省时为20)
* @return 截取后的字符串
**/
substring: function (text) {
var subLength = arguments[1] ? arguments[1] : 20;// 默认截取20个长度
if (text.length > subLength) {
return text.substring(0, subLength) + '...';
}
return text;
},
/**
* 将yyMMdd字符串转化为yy-MM-dd
*
* @param str yyMMdd字符串
* @return yy-MM-dd字符串
**/
dateFormat2: function (str) {
return str.substr(0, 4) + '-' + str.substr(4, 2) + '-' + str.substr(6, 2);
},
/**
* 非负数校验
*
* @param num 输入的字符串
* @return true:数字 false:非数字
**/
isNum: function (num) {
return !(num===''||isNaN(num));
},
/**
* 替换掉字符串中的所有null
*
* @param 要处理的字符串
* @return string
**/
replaceNull:function(str){
var new_str = str;// 替换后的字符串
if(arguments[1]===null||arguments[1]===undefined){// 没有替换的参数
new_str = new_str.replace(/null/g, '');
return new_str;
}
new_str = new_str.replace(/null/g, arguments[1]);
new_str = new_str.replace(/""/g, '"'+arguments[1]+'"');
return new_str;
},
/**
* 替换掉字符串中的所有null
*
* @param 要处理的字符串
* @return string
**/
replaceNull2:function(str){
var new_str = str;// 替换后的字符串
if(arguments[1]===null||arguments[1]===undefined){// 没有替换的参数
new_str = new_str.replace(/null/g, '');
return new_str;
}
new_str = new_str.replace(/null/g, '"'+arguments[1]+'"');
new_str = new_str.replace(/""/g, '"'+arguments[1]+'"');
return new_str;
},
/**
* 校验价格格式(价格必须为合法数字,正数,最多两位小数)
*
* @param price 价格
* @return true:正确;false:不正确
*/
isPrice:function(price){
//判断商品价格
var reg = /(^[1-9]\d*(\.\d{1,2})?$)|(^[0]{1}(\.\d{1,2})?$)/;
if (price == "") {
return false;
} else {
if (!reg.test(price)) {
return false;
} else {
return true;
}
}
}
}