javascript常用工具类util.js
//如果大家想要补充,请留言
/**
* 判断指定名称的复选框是否被选中
*
* @param {}
* chname复选框名称
*/
function chkCheckCha(chname) {
var obj = jQuery("[name='" + chname + "']");
var isCheck = false;
for (var i = ; i < obj.length; i++) {
if (obj[i].checked == true) {
isCheck = true;
break;
}
}
return isCheck;
} /**
* 得到指定名称的复选框被选中个数
*
* @param {}
* chname
* @return {}
*/
function checkChangedOnly(chname) {
var obj = jQuery("[name='" + chname + "']");
var count = ;
for (var i = ; i < obj.length; i++) {
if (obj[i].checked == true) {
count++;
}
}
return count;
} /**
* 得到指定名称的单个被选中的复选择框的值
*
* @param {}
* chname
*/
function getValueCheckOnly(chname) {
var str = "";
jQuery("[name='" + chname + "'][checked]").each(function() {
str += jQuery(this).val();
});
return str;
} /**
* 得到多个复选框的值
*
* @param {}
* chname
*/
function getCheckVals(chname) {
var str = "";
jQuery("[name='" + chname + "'][checked]").each(function() {
str += jQuery(this).val() + "@";
});
return str.substring(, str.length - );
} function getCheckHidden(chname,tagId){
var strval = getCheckVals(chname);
var arr = "";
var temp = strval.split("@");
for(var i = ;i<temp.length;i++){
var val = temp[i];
var id = tagId+val;
var tag = $("#"+id).val();
arr+=tag+"@";
}
return arr;
} /**
* 得到一些复选框的值 复选框的值中是否包含有","若无则用","将多个值组合 若有则先将值用","隔开再用","组合
*
* @param {}
* chname
*/
function getSomeChVals(chname) {
var str = "";
jQuery("[name='" + chname + "'][checked]").each(function() {
var temp = jQuery(this).val();
if (temp.indexOf(",") == -) {
str += temp + ",";
} else {
var tempValue = temp.split(",");
str += tempValue[] + ",";
}
});
return str.substring(, str.length - );
} function getAnyCheckValue(chname) {
var str = getCheckVals(chname);
var tstr = str.split("@");
var result = "";
for (var i = ; i < tstr.length; i++) {
var temp = tstr[i].split(",");
result += temp[] + ",";
}
return result.substring(, result.length - );
} /**
* 得到指定名称的有多个值的多个复选框的值
*
* @param chname
*/
function getCheckValues(chname) {
var str = "";
var sids = "";
var snames = "";
jQuery("[name='checkbox'][checked]").each(function() {
var strval = jQuery(this).val();
var temp = strval.split(",");
var sid = temp[];
var sname = temp[];
sids += sid + ",";
snames += sname + ", ";
});
str = sids.substring(, sids.length - ) + "|"
+ snames.substring(, snames.length - );
return str;
} /**
* 判断复选框的状态
*
* @param {}
* chname
*/
function decideCheckState(chname) {
var str = getCheckVals(chname);
var tstr = str.split("@");
var temp = "";
for (var i = ; i < tstr.length; i++) {
var tval = tstr[i];
var tem = tval.substring(tval.length - , tval.length);
temp += tem;
}
return temp;
} // 复选框的值是否全为0
function checkStringz(chname) {
var regex = /^[]*$/g;
var source = decideCheckState(chname);
return regex.test(source);
} // 复选框的值是否全为1
function checkStringO(chname) {
var regex = /^[]*$/g;
var source = decideCheckState(chname);
return regex.test(source);
} function decideStrallz(source) {
var regex = /^[]*$/g;
return regex.test(source);
}
function decideStrallO(source) {
var regex = /^[]*$/g;
return regex.test(source);
} /**
* 复选框全选v
*
* @param {}
* chname
*/
function checkboxAll(chname) {
jQuery("[name='" + chname + "']").each(function() {
jQuery(this).attr("checked", true);
});
} /**
* 复选框反选
*
* @param {}
* chname
*/
function inverSelect(chname) {
jQuery("[name='" + chname + "']").each(function() {
if (jQuery(this).attr("checked")) {
jQuery(this).attr("checked", false);
} else {
jQuery(this).attr("checked", true);
}
});
} function selects(all_id,chname){
$("#"+all_id).click(function(){
if($(this).attr("checked")){
checkboxAll(chname);
}else{
clearSelect(chname);
}
});
}
function mouseHover(obj){
alert($(obj).attr("style"));
} /**
* 取消全选或反选
*
* @param {}
* chname
*/
function clearSelect(chname) {
jQuery("[name='" + chname + "']").each(function() {
jQuery(this).attr("checked", false);
});
} /**
* 点击删除按钮时使用
*/
function dele(chname) {
var b = chkCheckCha(chname);
if (!b) {
alert("请选择要删除的记录");
return false;
} else if (confirm("删除后无法恢复,确定删除吗?")) {
jQuery("[name='form1']").submit();
} else {
return false;
}
} /**
* 校验时间格式
*
* @param {}
* timevale
* @return {}
*/
function checkTime(timevale) {
var regex = /^(([-][-])|([][-]))(\:)[-][-](\:)[-][-]$/g;
var b = regex.test(timevale);
return b;
} /**
* 校验Ip地址格式
*
* @param {}
* ipvale
*/
function checkIp(ipvale) {
var regex = /^([-]|[-]\d|\d{}|[-]\d|[-])(\.(\d|[-]\d|\d{}|[-]\d|[-])){}$/;
var b = regex.test(ipvale);
return b;
} /**
* 是否是由字母或数字组成的字符串
*
* @param {}
* letVale
*/
function checkLetOrNum(letVale) {
var regex = /^([a-zA-Z_]{})([\w]*)$/g;
var b = regex.test(letVale);
return b;
} /**
* 取字符串的第index的字符
*
* @param {}
* source
* @param {}
* index
*/
function interceptStr(source, index) {
var temp = source.charAt(index);
return parseInt(temp);
} /**
* 检查字符串中beindex位置到endindex位置之间是否全由targer组成
*
* @param {}
* source
* @param {}
* targer
* @param {}
* beindex
* @param {}
* endindex
*/
function checkStr(source, targer, beindex, endindex) {
var flag = false;
for (var i = beindex; i <= endindex; i++) {
var temp = source.charAt(i);
if (targer == temp) {
flag = true;
}
}
return flag;
} /**
* 验证字符串中的某一段是否全为0
*
* @param {}
* source
* @param {}
* begin
* @param {}
* end
* @return {}
*/
function checkString(source, begin, end) {
var regex = /^[]*$/g;
var temp = source.substring(begin, end + );
//alert("###temp=="+temp);
return regex.test(temp);
} /**
* 判断两个字符串是否想等 相等返回true否则返回false
*
* @param {}
* source
* @param {}
* target
*/
function decideString(source, target) {
return (source == target) ? true : false;
} /**
* 将字符串转换成数字
* @param val
* @return
*/
function stringToNumber(val){
return Number(val);
} /**
* 验证是否是整数或小数
* @param source
* @return
*/
function checkIntAndFloat(source){
var regex = /^[-]+(\.[-]+)?$/g;
return regex.test(source);
} /**
* 验证是否是整数或只有一位小数点的小数
*
* @param {}
* source
* @return {}
*/
function checkFloat(source) {
// var regex=/^[1-9]d*.d{1}|0.d{1}[1-9]d{1}$/g;
var regex = /^[-]+\d*[\.\d]?\d{,}$/g;
return regex.test(source);
} /**
* 验证是否两位数以内的正整数
*
* @param {}
* source
* @return {}
*/
function checkTwoInt(source) {
var regex = /^[-][-]?$/g; //两位数以内的正整数
return regex.test(source);
} /**
* 验证数字
*
* @param {}
* source
* @return {}
*/
function checkNumber(source) {
var regex = /^(\-|\+)?\d+(\.\d+)?$/;
return regex.test(source);
} /**
* 验证是否是两位小数的正实数
*
* @param {}
* source
* @return {}
*/
function checkTowLenFloat(source) {
var regex = /^[-]+(.[-]{})?$/g;//只能输入有两位小数的正实数
return regex.test(source);
} /**
* 验证是否是两位或一位小数的正实数
*
* @param {}
* source
* @return {}
*/
function checkTowLenFloatt(source) {
var regex = /^[-]+(.[-]{,})?$/g;//只能输入有两位小数的正实数
return regex.test(source);
} /**
* 验证是否是整数或只有2位小数的数
*
* @param {}
* source
*/
function checkTowFloat(source) {
var regex = /^[-]+\d*[\.\d]?\d{,}$/g;
return regex.test(source);
} /**
* 验证是否有空格
*
* @param {}
* source
*/
function checkSpace(source) {
var regex = /\s/g;
return regex.test(source);
} /**
* 检查一个数是否是整数则位数在8以内
*
* @param {}
* source
*/
function checkIntLeng(source) {
var regex = /^[-]{}[-]{,}$/g
return regex.test(source);
} /**
* 检查一个数是否是整数则位数在2以内
*
* @param {}
* source
*/
function checkIntTwoLeng(source) {
var regex = /^[-]{}[-]{,}$/g
return regex.test(source);
} /**
* 验证正整数
*
* @param {}
* source
*/
function checkInt(source) {
// var regex=/^[1-9]d*$/g
var regex = /^[-]*[-][-]*$/g
return regex.test(source);
} /**
* 验证非负数
*
* @param {}
* source
*/
function checkNegative(source) {
var regex=/^[-]\d*|$/g
return regex.test(source);
} /**
* 分割IP地址
*
* @param {}
* ipAddress
*/
function getIpNum(ipAddress) {
var ip = ipAddress.split(".");
var a = parseInt(ip[]);
var b = parseInt(ip[]);
var c = parseInt(ip[]);
var d = parseInt(ip[]);
var ipNum = a * * * + b * * + c * + d;
return ipNum;
} /**
* 判断IP大小
*/
function decideIp(startIp, endIp) {
var ip1 = getIpNum(startIp);
var ip2 = getIpNum(endIp);
return (ip2 > ip1) ? true : false;
} /**
* 验证是否全是空格
*
* @param {}
* source
* @return {}
*/
function checkAllSpace(source) {
var regex = /^\s+$/g
return regex.test(source);
} /*******************************************************************************
* openWindow(url)函数:弹出窗口 * url:路径 * left:左边的距离 * top:上边的距离 * width:窗口宽度 *
* height:窗口高度 * resize:yes时可调整窗口大小,no则不可调 *
******************************************************************************/
function openWindow(url,width, height, resize) {
var mleft = (screen.width - width) / ;
var mtop = (screen.height - height) / ;
window.open(url,"","height=" + height + ",width=" + width
+ ",location=no,menubar=no,resizable=" + resize
+ ",scrollbars=yes,status=no,toolbar=no,left=" + mleft
+ ",top=" + mtop + "");
} function openWindow(url,width, height, resize,scrollbars) {
var mleft = (screen.width - width) / ;
var mtop = (screen.height - height) / ;
window.open(url,"","height=" + height + ",width=" + width
+ ",location=no,menubar=no,resizable=" + resize
+ ",scrollbars="+scrollbars+",status=no,toolbar=no,left=" + mleft
+ ",top=" + mtop + "");
}
/**
*
* @param {} url
* @param {} width
* @param {} height
*/
function showNewWind(url,width,height){
//alert(url);
var showresult = window.showModalDialog(url,window,"dialogWidth="+width+"px;dialogHeight="+height+"px;location=no;status=no;scroll=yes");
return showresult;
} /**
*
* @param {} url
* @param {} width
* @param {} height
*/
function showNewLessWind(url,width,height){
//alert(url);
var showresult = window.showModelessDialog(url,window,"dialogWidth:"+width+"px;location=no;status:no;dialogHeight:"+height+"px");
return showresult;
} function decideLeve(source){
var regex=/^[a-zA-Z]{}$/g;
return regex.test(source);
} function openBlankWindow(url){
openWindow(url,"","","yes");
} /**
* 时间变化
* @param {} source
* @param {} addval
*/
function dateToString(source,addval){
var paddval = parseInt(addval);//增量(秒)
var temp = source.split(":");
var thrs = parseInt(temp[])*;//小时化成秒
var tmis = parseInt(temp[])*;//分钟化成秒;
var tss = parseInt(temp[]);//秒
var totals = parseInt(thrs)+parseInt(tmis)+parseInt(tss)+parseInt(paddval);
var result = timeTohhmmss(totals);
return result;
} /**
* 由秒数转化成hh:mm:ss格式
* @param {} seconds
*/
function timeTohhmmss(seconds){
var hh;
var mm;
var ss;
if(seconds==null || seconds<){
return;
}
var pseconds = parseInt(seconds);
//得到小时
hh = pseconds/|;
pseconds = parseInt(pseconds)-parseInt(hh)*;
if(parseInt(hh)<){
hh=""+hh;
}
if(parseInt(hh)>=){
hh="";
}
//得到分钟
mm = parseInt(pseconds)/|;
//得到秒
ss = parseInt(pseconds)-parseInt(mm)*;
if(parseInt(mm)<){
mm = ""+mm;
}
if(parseInt(ss)<){
ss = ""+ss;
}
return hh+":"+mm+":"+ss;
} /**
验证身份证号是否正确
**/
function isCardNo(num){
if(isNaN(num)){
alert("输入的身份证号不是数字!");
return false;
}
var len = num.length;
if(len< || len>){
alert("输入的身份证号码长度不正确定!应为15位或18位");
return false;
}
var re15 = /^[-]\d{}((\d)|([-]))(([||]\d)|[-])\d{}$/;
var re18 = /^[-]\d{}[-]\d{}((\d)|([-]))(([||]\d)|[-])\d{}$/;
var res = (re15.test(num) || re18.test(num));
if(res==false){
alert("输入的身份证号格式不正确!");
return false;
}
return res;
} /**
* 判断字符串是否为空,若为空则返回true否则返回false
* @param source
* @return true或者false
**/
function isEmpty(source){
var str = source.replace(/(^\s*)|(\s*$)/g,"");
if(str=="" || str.toLowerCase()=="null" || str.length<=){
return true;
}else{
return false;
}
} /**
* 验证是否为电话号码(座机)
*
* @param {}
* source
*/ function isTelephone(source) {
var regex = /^([-]{,}\-)?([-][-]{,})+(\-[-]{,})?$/
return regex.test(source); //search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1
} /**
* 验证是否为手机号码(移动手机)
*
* @param {}
* source
*/ function isMobilePhone(source) {
var regex = /^((\(\d{}\))|(\d{}\-))?\d{}/;
return regex.test(source);
} /**
* 验证是否为电子邮箱
*
* @param {}
* source
*/
function isEmail(source) {
var regex = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-]+((\.|-)[A-Za-z0-]+)*\.[A-Za-z0-]+$/;
if(source.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-]+((\.|-)[A-Za-z0-]+)*\.[A-Za-z0-]+$/) != -){
return true;
}else{
alert("电子邮箱格式不正确");
return false;
}
} /**
*
*验证是否为邮编
* @param
* source
*/
function isZip(source){
var regex=/^[-]\d{}$/;
return regex.test(source);
} /**
*
*验证字符串是否是中文
*
**/
function isChines(source){
var regex = /^[\u4E00-\u9FA5]+$/;
return regex.test(source);
} /**
生成指定位数的随机整数
**/
function getRandomNum(count){
var arr = new Array;
var reNum = "";
for(var i=;i<count;i++){
arr[i] = parseInt(Math.random()*);
reNum += String(arr[i]);
}
return reNum;
}
function random(min,max){
return Math.floor(min+Math.random()*(max-min));
}
/*
*判断包含关系
*string:原始字符串
*substr:子字符串
*isIgnoreCase:忽略大小写
*/ function jsContains(string,substr,isIgnoreCase)
{
if(isIgnoreCase)
{
string=string.toLowerCase();
substr=substr.toLowerCase();
}
var startChar=substr.substring(,);
var strLen=substr.length;
for(var j=;j<string.length-strLen+;j++)
{
if(string.charAt(j)==startChar)//如果匹配起始字符,开始查找
{
if(string.substring(j,j+strLen)==substr)//如果从j开始的字符与str匹配,那ok
{
return true;
}
}
}
return false;
} /**
* 随机数UUID
* @return
*/
function makeUUID() {
var S4 = function () {
return ((( + Math.random()) * 0x10000) | ).toString().substring();
};
//return (S4() + S4() + "-" + S4() + "-" + S4() + "-" + S4() + "-" + S4() + S4() + S4());
return (S4() + S4() + S4() + S4() + S4() + S4() + S4() + S4());
} /**
* 得到项目的基地址
* @return {}
*/
function getContextPath() {
var strFullPath = window.document.location.href;
var strPath = window.document.location.pathname;
var pos = strFullPath.indexOf(strPath);
var prePath = strFullPath.substring(, pos);
var path = strPath.substring(, strPath.substr().indexOf('/') + );
return path;
} /**
* 显示提示信息
* @param {Object} msg
*/
function showInfoMessage(msg) {
Ext.MessageBox.show({
width:,
buttons:Ext.Msg.OK,
msg:msg,
icon:Ext.MessageBox.INFO,
title:"系统提示"
});
}
/**
* 给URL追加参数
* @param {} url
* @param {} parameter 参数名
* @param {} value 参数值
*/
function urlAddParmert(url,parameter,value){
var buf = new StringBuffer();
if(!isEmpty(url)){
buf.append(url);
if(url.indexOf("?") > -){ //已经有参数
buf.append("&");
}else{
buf.append("?");
}
buf.append(parameter);
buf.append("=");
buf.append(value);
}
return buf.toString();
} /**
* 得到文件的扩展名
* @param {} filename
*/
function getFileExt(filename){
var d=/\.[^\.]+$/.exec(filename);
var ext = new String(d);
var s = ext.toLowerCase();
return s;
} //字符串编码
function strEncode(source){
return encodeURIComponent(source);
}
//字符串解码
function strDencode(source){
return decodeURIComponent(source);
}
/**
* 字符串转正形
* @param source
* @returns
*/
function strParseInt(source){
if(isEmpty(source) || isNaN(source)){
return ;
}
return parseInt(source);
}
/**
* 字符串转Float形
* @param source
* @returns
*/
function strParseFloat(source){
if(isEmpty(source) || isNaN(source)){
return ;
}
return parseFloat(source);
} /**
* 获取今天日期,星期几
* @returns
*/
function getTodayDate(){
var now = new Date();
var yy = now.getFullYear();
var mm = now.getMonth()+;
var dd=now.getDate();
var day = new Array();
day[] = "星期日";
day[] = "星期一";
day[] = "星期二";
day[] = "星期三";
day[] = "星期四";
day[] = "星期五";
day[] = "星期六";
return( yy + '年' + mm + '月'+ dd +'日 '+day[now.getDay()]);
} /**
* 获取一段时间中含有的周末数量
* @param beginDate
* @param endDate
* @returns {number}
*/
function getIntervalWeekends(beginDate,endDate) {
var weekends = ;
var dateDiffDays = dateDiff("d", beginDate, endDate)+;
if(dateDiffDays>){
for(var i=;i<dateDiffDays;i++){
var newDate = dateAdd("d",i,beginDate);
if(newDate.getDay()== || newDate.getDay()==){
weekends++;
}
}
}
return weekends;
} /**
* 时间戳转成时间
* @param time
* @returns
*/
function timeStamp2String(time){
var datetime = new Date();
datetime.setTime(time);
var year = datetime.getFullYear();
var month = datetime.getMonth() + < ? "" + (datetime.getMonth() + ) : datetime.getMonth() + ;
var date = datetime.getDate() < ? "" + datetime.getDate() : datetime.getDate();
var hour = datetime.getHours()< ? "" + datetime.getHours() : datetime.getHours();
var minute = datetime.getMinutes()< ? "" + datetime.getMinutes() : datetime.getMinutes();
var second = datetime.getSeconds()< ? "" + datetime.getSeconds() : datetime.getSeconds();
return year + "-" + month + "-" + date+" "+hour+":"+minute+":"+second;
} /**
* 判断是否为空
* @param val
* @returns
*/
function isNull(val) {
if (val == undefined || val == null || val == "" || val == ''
|| val == "undefined" || val == "null" || val == "NULL") {
return true;
}
return false;
} /**
* 判断闰年
* @param date Date日期对象
* @return boolean true 或false
*/
this.isLeapYear = function(date){
return (==date.getYear()%&&((date.getYear()%!=)||(date.getYear()%==)));
} /**
* 日期对象转换为指定格式的字符串
* @param f 日期格式,格式定义如下 yyyy-MM-dd HH:mm:ss
* @param date Date日期对象, 如果缺省,则为当前时间
*
* YYYY/yyyy/YY/yy 表示年份
* MM/M 月份
* W/w 星期
* dd/DD/d/D 日期
* hh/HH/h/H 时间
* mm/m 分钟
* ss/SS/s/S 秒
* @return string 指定格式的时间字符串
*/
this.dateToStr = function(formatStr, date){
formatStr = arguments[] || "yyyy-MM-dd HH:mm:ss";
date = arguments[] || new Date();
var str = formatStr;
var Week = ['日','一','二','三','四','五','六'];
str=str.replace(/yyyy|YYYY/,date.getFullYear());
str=str.replace(/yy|YY/,(date.getYear() % )>?(date.getYear() % ).toString():'' + (date.getYear() % ));
str=str.replace(/MM/,date.getMonth()>?(date.getMonth() + ):'' + (date.getMonth() + ));
str=str.replace(/M/g,date.getMonth());
str=str.replace(/w|W/g,Week[date.getDay()]); str=str.replace(/dd|DD/,date.getDate()>?date.getDate().toString():'' + date.getDate());
str=str.replace(/d|D/g,date.getDate()); str=str.replace(/hh|HH/,date.getHours()>?date.getHours().toString():'' + date.getHours());
str=str.replace(/h|H/g,date.getHours());
str=str.replace(/mm/,date.getMinutes()>?date.getMinutes().toString():'' + date.getMinutes());
str=str.replace(/m/g,date.getMinutes()); str=str.replace(/ss|SS/,date.getSeconds()>?date.getSeconds().toString():'' + date.getSeconds());
str=str.replace(/s|S/g,date.getSeconds()); return str;
} /**
* 日期计算
* @param strInterval string 可选值 y 年 m月 d日 w星期 ww周 h时 n分 s秒
* @param num int
* @param date Date 日期对象
* @return Date 返回日期对象
*/
this.dateAdd = function(strInterval, num, date){
date = arguments[] || new Date();
switch (strInterval) {
case 's' :return new Date(date.getTime() + ( * num));
case 'n' :return new Date(date.getTime() + ( * num));
case 'h' :return new Date(date.getTime() + ( * num));
case 'd' :return new Date(date.getTime() + ( * num));
case 'w' :return new Date(date.getTime() + (( * ) * num));
case 'm' :return new Date(date.getFullYear(), (date.getMonth()) + num, date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds());
case 'y' :return new Date((date.getFullYear() + num), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds());
}
} /**
* 比较日期差 dtEnd 格式为日期型或者有效日期格式字符串
* @param strInterval string 可选值 y 年 m月 d日 w星期 ww周 h时 n分 s秒
* @param dtStart Date 可选值 y 年 m月 d日 w星期 ww周 h时 n分 s秒
* @param dtEnd Date 可选值 y 年 m月 d日 w星期 ww周 h时 n分 s秒
*/
this.dateDiff = function(strInterval, dtStart, dtEnd) { //如 'd',new Date("2016-8-22"),new Date("2016-8-25")
switch (strInterval) {
case 's' :return parseInt((dtEnd - dtStart) / );
case 'n' :return parseInt((dtEnd - dtStart) / );
case 'h' :return parseInt((dtEnd - dtStart) / );
case 'd' :return parseInt((dtEnd - dtStart) / );
case 'w' :return parseInt((dtEnd - dtStart) / ( * ));
case 'm' :return (dtEnd.getMonth()+)+((dtEnd.getFullYear()-dtStart.getFullYear())*) - (dtStart.getMonth()+);
case 'y' :return dtEnd.getFullYear() - dtStart.getFullYear();
}
} /**
* 字符串转换为日期对象
* @param date Date 格式为yyyy-MM-dd HH:mm:ss,必须按年月日时分秒的顺序,中间分隔符不限制
*/
this.strToDate = function(dateStr){
var data = dateStr;
var reCat = /(\d{,})/gm;
var t = data.match(reCat);
t[] = t[] - ;
eval('var d = new Date('+t.join(',')+');');
return d;
} /**
* 把指定格式的字符串转换为日期对象yyyy-MM-dd HH:mm:ss
*
*/
this.strFormatToDate = function(formatStr, dateStr){
var year = ;
var start = -;
var len = dateStr.length;
if((start = formatStr.indexOf('yyyy')) > - && start < len){
year = dateStr.substr(start, );
}
var month = ;
if((start = formatStr.indexOf('MM')) > - && start < len){
month = parseInt(dateStr.substr(start, )) - ;
}
var day = ;
if((start = formatStr.indexOf('dd')) > - && start < len){
day = parseInt(dateStr.substr(start, ));
}
var hour = ;
if( ((start = formatStr.indexOf('HH')) > - || (start = formatStr.indexOf('hh')) > ) && start < len){
hour = parseInt(dateStr.substr(start, ));
}
var minute = ;
if((start = formatStr.indexOf('mm')) > - && start < len){
minute = dateStr.substr(start, );
}
var second = ;
if((start = formatStr.indexOf('ss')) > - && start < len){
second = dateStr.substr(start, );
}
return new Date(year, month, day, hour, minute, second);
} /**
* 日期对象转换为毫秒数
*/
this.dateToLong = function(date){
return date.getTime();
} /**
* 毫秒转换为日期对象
* @param dateVal number 日期的毫秒数
*/
this.longToDate = function(dateVal){
return new Date(dateVal);
} /**
* 判断字符串是否为日期格式
* @param str string 字符串
* @param formatStr string 日期格式, 如下 yyyy-MM-dd
*/
this.isDate = function(str, formatStr){
if (formatStr == null){
formatStr = "yyyyMMdd";
}
var yIndex = formatStr.indexOf("yyyy");
if(yIndex==-){
return false;
}
var year = str.substring(yIndex,yIndex+);
var mIndex = formatStr.indexOf("MM");
if(mIndex==-){
return false;
}
var month = str.substring(mIndex,mIndex+);
var dIndex = formatStr.indexOf("dd");
if(dIndex==-){
return false;
}
var day = str.substring(dIndex,dIndex+);
if(!isNumber(year)||year>"" || year< ""){
return false;
}
if(!isNumber(month)||month>"" || month< ""){
return false;
}
if(day>getMaxDay(year,month) || day< ""){
return false;
}
return true;
} this.getMaxDay = function(year,month) {
if(month==||month==||month==||month==)
return "";
if(month==)
if(year%==&&year%!= || year%==)
return "";
else
return "";
return "";
} /**
* 变量是否为数字
*/
this.isNumber = function(str)
{
var regExp = /^\d+$/g;
return regExp.test(str);
} /**
* 把日期分割成数组 [年、月、日、时、分、秒]
*/
this.toArray = function(myDate)
{
myDate = arguments[] || new Date();
var myArray = Array();
myArray[] = myDate.getFullYear();
myArray[] = myDate.getMonth();
myArray[] = myDate.getDate();
myArray[] = myDate.getHours();
myArray[] = myDate.getMinutes();
myArray[] = myDate.getSeconds();
return myArray;
} /**
* 取得日期数据信息
* 参数 interval 表示数据类型
* y 年 M月 d日 w星期 ww周 h时 n分 s秒
*/
this.datePart = function(interval, myDate)
{
myDate = arguments[] || new Date();
var partStr='';
var Week = ['日','一','二','三','四','五','六'];
switch (interval)
{
case 'y' :partStr = myDate.getFullYear();break;
case 'M' :partStr = myDate.getMonth()+;break;
case 'd' :partStr = myDate.getDate();break;
case 'w' :partStr = Week[myDate.getDay()];break;
case 'ww' :partStr = myDate.WeekNumOfYear();break;
case 'h' :partStr = myDate.getHours();break;
case 'm' :partStr = myDate.getMinutes();break;
case 's' :partStr = myDate.getSeconds();break;
}
return partStr;
} /**
* 取得当前日期所在月的最大天数
*/
this.maxDayOfDate = function(date)
{
date = arguments[] || new Date();
date.setDate();
date.setMonth(date.getMonth() + );
var time = date.getTime() - * * * ;
var newDate = new Date(time);
return newDate.getDate();
}
javascript常用工具类util.js的更多相关文章
- vue项目工具文件utils.js javascript常用工具类,javascript常用工具类,util.js
vue项目工具文件utils.js :https://blog.csdn.net/Ajaxguan/article/details/79924249 javascript常用工具类,util.js : ...
- javascript常用工具类整理(copy)
JavaScript常用工具类 类型 日期 数组 字符串 数字 网络请求 节点 存储 其他 1.类型 isString (o) { //是否字符串 return Object.prototype.to ...
- 32.Node.js中的常用工具类util
转自:http://www.runoob.com/nodejs/nodejs-module-system.html util是一个Node.js核心模块,提供常用函数的集合,用于弥补JavaScrip ...
- js常用工具类.
一些js的工具类 复制代码 /** * Created by sevennight on 15-1-31. * js常用工具类 */ /** * 方法作用:[格式化时间] * 使用方法 * 示例: * ...
- commons-lang3-3.2.jar中的常用工具类的使用
这个包中的很多工具类可以简化我们的操作,在这里简单的研究其中的几个工具类的使用. 1.StringUtils工具类 可以判断是否是空串,是否为null,默认值设置等操作: /** * StringUt ...
- commons-lang常用工具类StringEscapeUtils使用--转
https://my.oschina.net/ydsakyclguozi/blog/341496 在apache commons-lang(2.3以上版本)中为我们提供了一个方便做转义的工具类,主要是 ...
- 简单了解Spring中常用工具类_java - JAVA
文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 文件资源操作 Spring 定义了一个 org.springframework.core.io.Resource 接口, ...
- Android 常用工具类之SPUtil,可以修改默认sp文件的路径
参考: 1. 利用Java反射机制改变SharedPreferences存储路径 Singleton1900 2. Android快速开发系列 10个常用工具类 Hongyang import ...
- javaweb常用工具类及配置文件备份
Javaweb常用工具类及配置文件备份 做一个代码备份,以后常用到的. hibernate工具类备份 package com.dly.service; /* * hibernate获取sessi ...
随机推荐
- Tp5.1 管理后台开发纪要
1. tp5.1 对网页是有缓存机制的 E:\phpStudy\PHPTutorial\WWW\NewAdmin\thinkphp\library\think\Template.php 下displa ...
- linux环境下编写shell脚本实现启动停止tomcat服务
第一步:以管理员的身份进入控制台,在指定目录下新建一个shell脚本,我这里命名为tomcat.sh 第二步:编写shell脚本 #!/bin/bash tomcat_home=/usr/tomcat ...
- Windows10+Anaconda+PyTorch(cpu版本)环境搭建
1.安装Anaconda,具体参考网上相关教程 2.安装PyTorch 2.1 在Anaconda自带的Anaconda Prompt中创建名为PyTorch的虚拟环境[conda create -- ...
- 人机交互技术 Week 11_Data gathering
Summary: Different Kinds of Requirements Functional requirements Data requirements Environmental req ...
- Python进阶: Decorator 装饰器你太美
函数 -> 装饰器 函数的4个核心概念 1.函数可以赋与变量 def func(message): print('Got a message: {}'.format(message)) send ...
- svn: E230001: Server SSL certificate verification failed: certificate issued
svn: E230001: Server SSL certificate verification failed: certificate issued 今天在使用svn时候发现出现这个问题,这个是因 ...
- Python之Flask
一.Flask是一个使用 Python 编写的轻量级 Web 应用框架.其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 .Flask使用 BSD 授权. Flask是一个轻 ...
- 3_PHP表达式_3_有关变量或常量状态的函数
以下为学习孔祥盛主编的<PHP编程基础与实例教程>(第二版)所做的笔记. 1. 数据类型查看函数 PHP为变量或常量提供了查看数据类型的函数,其中包括gettype()和var_dump( ...
- 基于【 Docker】六 || 部署Harbor仓库
第一步:下载harbor二进制文件:https://github.com/goharbor/harbor/releases 第二步:安装 docker compose sudo curl -L htt ...
- 分享一个仿网易新闻客户端iPhone版的标签式导航ViewController
该Controller是一个容器,用于容纳其他的controller.效果与网易新闻客户端的标签式导航基本一样: (1)点击上面的标签,可以切换到对应的controller,标签下面的红色提示条的长度 ...