1. 获取不带时分秒的日期 @param ms 毫秒数(为null时获取当前日期)
/*
* 功能:获取不带时分秒的日期 @param ms 毫秒数(为null时获取当前日期)
*/
function sysMsToDate(ms) {
var date;
if (ms) {
date = new Date(ms);
} else {
date = new Date();
}
var yyyy = date.getFullYear();
var MM = date.getMonth() + 1;
MM = MM < 10 ? "0" + MM : MM;
var dd = date.getDate();
dd = dd < 10 ? "0" + dd : dd;
return yyyy + "-" + MM + "-" + dd;
}
2.获取带时分秒的时间戳 @param ms 毫秒数(为null时获取当前时间戳)
/*
* 功能:获取带时分秒的时间戳 @param ms 毫秒数(为null时获取当前时间戳)
*/
function sysMsToTimestamp(ms) {
var date;
if (ms) {
date = new Date(ms);
} else {
date = new Date();
}
var yyyy = date.getFullYear();
var MM = date.getMonth() + 1;
MM = MM < 10 ? "0" + MM : MM;
var dd = date.getDate();
dd = dd < 10 ? "0" + dd : dd;
var hh = date.getHours();
hh = hh < 10 ? "0" + hh : hh;
var mm = date.getMinutes();
mm = mm < 10 ? "0" + mm : mm;
var ss = date.getSeconds();
ss = ss < 10 ? "0" + ss : ss;
return yyyy + "-" + MM + "-" + dd + " " + hh + ":" + mm + ":" + ss;
}
3. cookie相关操作
/**
*
* @param cookieName
* cookie名称
* @param value
* 值
* @param expiredays
* 有效天数
*/
function sysSetCookie(cookieName, value, expiredays) {
if (expiredays == null) {
expiredays = "";
} else {
var exdate = new Date();
exdate.setDate(exdate.getDate() + expiredays);
expiredays = ";expires=" + exdate.toGMTString();
}
document.cookie = cookieName + "=" + value + expiredays;
}
/**
* 从cookie中获取cookieName对应的值
*
* @param cookieName
* cookie名称
* @returns 值
*/
function sysGetCookie(cookieName) {
if (document.cookie.length > 0) {
var startIndex = document.cookie.indexOf(cookieName + "=");
if (startIndex != -1) {
var startIndex = startIndex + cookieName.length + 1;
var endIndex = document.cookie.indexOf(";", startIndex);
if (endIndex == -1) {
endIndex = document.cookie.length;
}
return unescape(document.cookie.substring(startIndex, endIndex));
}
}
return "";
}
/**
* 从cookie中删除cookieName
*
* @param cookieName
*/
function sysDeleteCookie(cookieName) {
// 将cookieName设置为已过期
sysSetCookie(cookieName, null, 0);
}
4. 正则替换字符串中所有的项
// 正则替换字符串中所有的项
function sysReplaceAll(str, oldSep, newSep) {
if (str == "" || str == null || str == undefined) {
return str;
}
var reg = new RegExp(oldSep, "g");// g,表示全部替换。
return str.replace(reg, newSep);
}
5. 字符串相关操作
// 验证String 是否为空 包含:'',null,undefined
function sysIsEmpty(str) {
return (str == '' || str == null || str == undefined);
}
/**
* 判断字符串是否以s开头
*/
String.prototype.sysStartWith = function(s) {
if (s == null || s == "" || this.length == 0 || s.length > this.length)
return false;
if (this.substr(0, s.length) == s)
return true;
else
return false;
return true;
}
/**
* 判断字符串是否以s结尾
*/
String.prototype.sysEndWith = function(s) {
if (s == null || s == "" || this.length == 0 || s.length > this.length)
return false;
if (this.substring(this.length - s.length) == s)
return true;
else
return false;
return true;
}
/**
* 判断字符串是否为空
*/
String.prototype.isNull = function() {
if (this == null || this.length == 0 || this == "") {
return true;
}
return false;
}
6.easy UI grid相关操作
// 增加一行的方法
function sysAddRow(sender) {
var th = {};
$('th', $('#' + sender)).each(function() {
th[$(this).attr("field")] = "";
});
$('#' + sender).datagrid('endEdit', lastIndex);
$('#' + sender).datagrid('appendRow', th);
var lastIndex = $('#' + sender).datagrid('getRows').length - 1;
$('#' + sender).datagrid('selectRow', lastIndex);
$('#' + sender).datagrid('beginEdit', lastIndex);
}
// grid 删除一行
function sysDeleteRow(sender) {
$.messager.confirm('确认', '确定删除吗?', function(r) {
if (r) {
var row = $('#' + sender).datagrid('getSelected');
if (row) {
var index = $('#' + sender).datagrid('getRowIndex', row);
$('#' + sender).datagrid('deleteRow', index);
}
}
});
}
// grid 删除多行
function sysDelRows(sender) {
var rows = $('#' + sender).datagrid('getChecked');
if (!rows || rows.length < 1) {
$.messager.alert('提示:', '请选择要删除的数据', 'info');
return;
}
$.messager.confirm('确认', '确定删除吗?', function(r) {
if (r) {
$.each(rows, function(index, row) {
$('#' + sender).datagrid('deleteRow',
$('#' + sender).datagrid('getRowIndex', row));
});
}
});
}
// grid删除多行
function sysDelDbRows(sender, entityName) {
// var flag=true;
var retMsg = {};
var rows = $('#' + sender).datagrid("getChecked");
/*
* if(rows.length<1){ $.messager.alert('提示:','请选择记录','info'); return; }
*/
/*
* $.messager.confirm('确认', '确定删除吗?', function(r) { if (r) {
*/
var s = [];
$(rows).each(function() {
s.push(this.id);
});
$.ajax({
url : rootpath + "/deleteList?sdn=" + sysGetGuid(),
async : false,
cache : false,
type : 'POST',
dataType : 'json',
contentType : 'application/x-www-form-urlencoded; charset=utf-8',
data : {
"entityName" : entityName,
"ids" : s.join(',')
},
success : function(msg) {
/*
* if(!msg.success){ flag=false; }
*/
retMsg = msg;
},
error : function() {
// $.messager.alert('提示:','操作失败','info');
// flag=false;
retMsg = {
success : false,
msg : '系统错误!'
};
}
});
return retMsg;
/*
* } });
*/
}
7.英文首字母小写转大写,其余字母小写
/* 英文首字母小写转大写,其余字母小写 */
function sysUcfirst(str) {
var str = str.toLowerCase();
str = str.replace(/\b\w+\b/g, function(word) {
return word.substring(0, 1).toUpperCase() + word.substring(1);
});
return str;
}
8.各种常用格式验证
$
.extend(
$.fn.validatebox.defaults.rules,
{
equalTo : {
validator : function(value, param) {
return $(param[0]).val() == value;
},
message : '字段不匹配'
},
idcard : {// 验证身份证
validator : function(value) {
var reg1 = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/; // 15位验证
var reg2 = /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X|x)$/; // 18位验证
return reg1.test(value) || reg2.test(value);
},
message : '身份证号码格式不正确'
}, checkMonther : {// 验证yyyy-mm格式
validator : function(value) {
var reg1=/^\d{4}-(0[1-9]|1[012])(-\d{2})*$/; //验证yyyy-mm格式的日期
return reg1.test(value);
},
message : '格式不正确,请使用下面格式:2018-01或2018-12'
},
noLessThan : {
validator : function(value, param) {
return parseFloat(value) >= parseFloat($(param[0])
.val());
},
message : '输入的数值超过下限'
},
noMoreThan : {
validator : function(value, param) {
return parseFloat(value) <= parseFloat($(param[0])
.val());
},
message : '输入的数值超过上限'
},
lessThanValue : {
validator : function(value, param) {
return parseFloat(value) >= param[0];
},
message : '输入的数值小于{0}'
},
lessThan : {
validator : function(value, param) {
return parseFloat(value) > param[0];
},
message : '输入的数值小于或等于{0}'
},
minLength : {
validator : function(value, param) {
return value.length >= param[0];
},
message : '请输入至少(2)个字符.'
},
range : {
validator : function(value, param) {
return value >= param[0] && value <= param[1]
},
message : '输入范围在{0}~{1}之间.'
},
maxLength : {
validator : function(value, param) {
return value.length <= param[0];
},
message : '输入内容最多{0}个字符.'
},
length : {
validator : function(value, param) {
var len = $.trim(value).length;
return len >= param[0] && len <= param[1];
},
message : "字符长度在{0}~{1}之间"
},
phone : {// 验证电话号码
validator : function(value) {
//return /\d{3}-\d{8}|\d{4}-\d{7}$/i.test(value);
var reg1 = /^[0-9]{3}-[0-9]{8}$/i; // 010-88888888
var reg2 = /^[0-9]{4}-[0-9]{7}$/i; // 0512-6666666
return reg1.test(value) || reg2.test(value);
},
message : '格式不正确,请使用下面格式:010-88888888或0512-6666666'
},
mobile : {// 验证手机号码
validator : function(value) {
return /^[1][345678][0-9]{9}$/i.test(value);
},
message : '手机号码格式不正确'
},
intOrFloat : {// 验证整数或小数
validator : function(value) {
return /^d+(.d+)?$/i.test(value);
},
message : '请输入数字,并确保格式正确'
},
currency : {// 验证货币
validator : function(value) {
return /^d+(.d+)?$/i.test(value);
},
message : '货币格式不正确'
},
qq : {// 验证QQ,从10000开始
validator : function(value) {
return /^[1-9]d{4,9}$/i.test(value);
},
message : 'QQ号码格式不正确'
},
integer : {// 验证整数 可正负数
validator : function(value) {
// return /^[+]?[1-9]+d*$/i.test(value);
return /^([+]?[0-9])|([-]?[0-9])+d*$/i.test(value);
},
message : '请输入整数'
},
positiveinteger : {// 验证正整数
validator : function(value) {
// return /^[+]?[1-9]+d*$/i.test(value);
return /^[0-9]\d*$/i.test(value);
},
message : '请输入正整数'
},
positiveFloat : {// 验证正数
validator : function(value) {
return /^(([0-9]+[\.]?[0-9]{1,2})|[1-9])$/i
.test(value);
},
message : '请输入正数'
},
numberValidate: {
validator: function (value) {
return /^[0-9]+.?[0-9]*$/i.test(value);
},
message: '请输入数字'
},
age : {// 验证年龄
validator : function(value) {
return /^(?:[1-9][0-9]?|1[01][0-9]|120)$/i
.test(value);
},
message : '年龄必须是0到120之间的整数'
},
chinese : {// 验证中文
validator : function(value) {
return /^[Α-¥]+$/i.test(value);
},
message : '请输入中文'
},
english : {// 验证英语
validator : function(value) {
return /^[A-Za-z]+$/i.test(value);
},
message : '请输入英文'
},
unnormal : {// 验证是否包含空格和非法字符
validator : function(value) {
return /.+/i.test(value);
},
message : '输入值不能为空和包含其他非法字符'
},
username : {// 验证用户名
validator : function(value) {
return /^[a-zA-Z][a-zA-Z0-9_]{0,15}$/i.test(value);
},
message : '用户名不合法(字母开头,允许1-16字节,允许字母数字下划线)'
},
faxno : {// 验证传真
validator : function(value) {
// return /^[+]{0,1}(d){1,3}[ ]?([-]?((d)|[
// ]){1,12})+$/i.test(value);
return /^(((d{2,3}))|(d{3}-))?((0d{2,3})|0d{2,3}-)?[1-9]d{6,7}(-d{1,4})?$/i
.test(value);
},
message : '传真号码不正确'
},
zip : {// 验证邮政编码
validator : function(value) {
return /^[1-9]d{5}$/i.test(value);
},
message : '邮政编码格式不正确'
},
ip : {// 验证IP地址
validator : function(value) {
return /d+.d+.d+.d+/i.test(value);
},
message : 'IP地址格式不正确'
},
name : {// 验证姓名,可以是中文或英文
validator : function(value) {
return /^[Α-¥]+$/i.test(value)
| /^w+[ws]+w+$/i.test(value);
},
message : '请输入姓名'
},
date : {// 验证日期,可以是中文或英文
validator : function(value) {
// 格式yyyy-MM-dd或yyyy-M-d
return /^([1-2]\d{3})[\/|\-](0?[1-9]|10|11|12)[\/|\-]([1-2]?[0-9]|0[1-9]|30|31)$/i
.test(value);
},
message : '清输入合适的日期格式,例yyyy-MM-dd'
},
datetime : {// 验证时间
validator : function(value) {
// 格式yyyy-MM-dd hh:mm:ss
return /^[1-9]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])\s+(20|21|22|23|[0-1]\d):[0-5]\d:[0-5]\d$/i
.test(value);
},
message : '清输入合适的日期格式,例yyyy-MM-dd hh:mm:ss'
},
msn : {
validator : function(value) {
return /^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$/
.test(value);
},
message : '请输入有效的msn账号(例:abc@hotnail(msn/live).com)'
},
same : {
validator : function(value, param) {
if ($("#" + param[0]).val() != "" && value != "") {
return $("#" + param[0]).val() == value;
} else {
return true;
}
},
message : '密码不一致!'
},
startTime : {
validator : function(value, param) {
var temp = $(param[0]).datetimebox('getValue');
if (temp) {
return value <= temp
}
return true;
},
message : '开始时间晚于结束时间'
},
endTime : {
validator : function(value, param) {
var temp = $(param[0]).datetimebox('getValue');
if (temp) {
return value >= temp
}
return true;
},
message : '结束时间早于开始时间'
},
startTimeValidate : {
validator : function(value, param) {
return param[0] <= value;
},
message : '时间早于{0}'
},
endTimeValidate : {
validator : function(value, param) {
return param[0] >= value;
},
message : '时间晚于{0}'
}
});