javascript常见操作汇总


Posted in Javascript onSeptember 03, 2014

本文整理汇总了javascript常见的各类操作,包括字符串、时间、表单、正则验证等等。有着极高的参考价值。分享给大家供大家参考之用。具体方法如下:

/***** BasePage.js 公共的 脚本文件 部分方法需引用jquery库 *****/
 
//#region 日期操作
 
//字符串转化为时间。
function stringtoTime(date1) {
  var dt = new Date(Date.parse(date1.replace(/-/g, "/")));
  return dt;
}
 
// 使用 var date1 = "2013-06-08 15:23:31"或"2013/6/8 9:9:00"格式;
//-------------------------------------------------------------
// 日期格式化
Date.prototype.format = function (format) {
  var o = {
    "M+": this.getMonth() + 1, //month 
    "d+": this.getDate(), //day 
    "h+": this.getHours(), //hour 
    "m+": this.getMinutes(), //minute 
    "s+": this.getSeconds(), //second 
    "q+": Math.floor((this.getMonth() + 3) / 3), //quarter 
    "S": this.getMilliseconds() //millisecond 
  }
 
  if (/(y+)/.test(format)) {
    format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
  }
 
  for (var k in o) {
    if (new RegExp("(" + k + ")").test(format)) {
      format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
    }
  }
  return format;
}
 
////使用方法 
 
//alert(newdate.format("yyyy-MM-dd"));
//alert(newdate.format("MM/dd/yyyy"));
//var nowStr = now.format("yyyy-MM-dd hh:mm:ss"); Math.round(Math.random() * 10000)
////使用方法2: 
//var testDate = new Date();
//var testStr = testDate.format("yyyy年MM月dd日hh小时mm分ss秒");
////示例: 
//alert(testDate.format("yyyy年MM月dd日"));
//-------------------------------------------------------------
//设置周期内的日期(数组)
function SetFlag(start, end) {
  var cdate = Array();
  cdate = start.split("-");
  var cd = cdate[1] + "/" + cdate[2] + "/" + cdate[0];
  var dayNum = DateDiff(end, start);
  for (var i = 0; i <= dayNum; i++) {
    flag.push(AddDays(cd, i));
  }
} //end fun
 
//日期加上天数后的新日期.
function AddDays(date, days) {
  var nd = new Date(date);
  nd = nd.valueOf();
  nd = nd + days * 24 * 60 * 60 * 1000;
  nd = new Date(nd);
  //alert(nd.getFullYear() + "年" + (nd.getMonth() + 1) + "月" + nd.getDate() + "日");
  var y = nd.getFullYear();
  var m = nd.getMonth() + 1;
  var d = nd.getDate();
  if (m <= 9) m = "0" + m;
  if (d <= 9) d = "0" + d;
  var cdate = y + "-" + m + "-" + d;
  return cdate;
}

//两个日期的差值(d1 - d2).
function DateDiff(d1, d2) {
  var day = 24 * 60 * 60 * 1000;
  try {
    var dateArr = d1.split("-");
    var checkDate = new Date();
    checkDate.setFullYear(dateArr[0], dateArr[1] - 1, dateArr[2]);
    var checkTime = checkDate.getTime();
 
    var dateArr2 = d2.split("-");
    var checkDate2 = new Date();
    checkDate2.setFullYear(dateArr2[0], dateArr2[1] - 1, dateArr2[2]);
    var checkTime2 = checkDate2.getTime();
 
    var cha = (checkTime - checkTime2) / day;
    return cha;
  } catch (e) {
    return false;
  }
} //end fun
 
//#endregion
 
//#region URL操作
 
/*
* 根据QueryString参数名称获取值
*/
function getQueryStringByName(name) {
  var result = location.search.match(new RegExp("[\?\&]" + name + "=([^\&]+)", "i"));
  if (result == null || result.length < 1)
    return "";
 
  return result[1];
}
 
function GetQueryString(name) {
  // 如果链接没有参数,或者链接中不存在我们要获取的参数,直接返回空
  if (location.href.indexOf("?") == -1 || location.href.indexOf(name + '=') == -1) {
    return '';
  }
 
  // 获取链接中参数部分
  var queryString = location.href.substring(location.href.indexOf("?") + 1);
 
  // 分离参数对 ?key=value&key2=value2
  var parameters = queryString.split("&");
 
  var pos, paraName, paraValue;
  for (var i = 0; i < parameters.length; i++) {
    // 获取等号位置
    pos = parameters[i].indexOf('=');
    if (pos == -1) {
      continue;
    }
    // 获取name 和 value
    paraName = parameters[i].substring(0, pos);
    paraValue = parameters[i].substring(pos + 1);
    // 如果查询的name等于当前name,就返回当前值,同时,将链接中的+号还原成空格
    if (paraName == name) {
      return unescape(paraValue.replace(/\+/g, " "));
    }
  }
  return '';
}
 
/*
* 获取当前地址的小写文件名
*/
function getCurrentUrlName() {
  var url = window.location.href;
  url = url.toLocaleLowerCase();
  if (url == undefined || url == "")
    return "";
  var item = url.toString().split("/");
  var name = item[item.length - 1];
  name = name.toString().split(".");
  if (name.length == 2)
    return name[0].toString();
  else return "";
}
 
//#endregion
 
//#region 字符串操作
 
/*
* 截取指定长度字符串
* 参数:
*   strString: 需要截取的字符串
*   strStart: 开始的索引
*   intLen:  截取的长度
*/
function getCustomLengtStr(strString, strStart, intLen) {
  if (strString != undefined && strString != "" && strString != null) {
    var CLen = strString.toString().length;
    if ((strStart + intLen) <= CLen - 1) {
      if (strStart < 0) strStart = 0;
 
      return strString.toString().substr(strStart, Number(intLen));
    } else {
      //长度越界,返回原始数据
      return strString;
    }
  } else return "";
}
 
/*
* 截取指定指定区间的字符串
* 参数:
*   strString: 需要截取的字符串
*   intStart: 开始的索引
*   intEnd:  结束的索引
*/
function getCustomLengtStr(strString, intStart, intEnd) {
  if (strString != undefined && strString != "" && strString != null) {
    var Clen = strString.toString().length - 1;
    if (Number(intEnd) <= Clen) {
      if (intStart < 0) intStart = 0;
      else if (intStart > Clen) intStart = Clen;
 
      return strString.toString().substring(intStart, intEnd);
    } else {
      //长度越界,返回原始数据
      return strString;
    }
  } else return "";
}
 
//#endregion
 
//#region 设为首页,添加收藏
 
//设为首页
function SetHome() {
  if (document.all) {
    document.body.style.behavior = "url(#default#homepage)";
    var url = window.location.href;
    document.body.setHomePage(url);
  } else {
    alert("设为首页失败,请手动设置!");
  }
}
 
//添加到收藏
function AddCollect() {
  var url = window.location.href;
  try {
    window.external.addFavorite(url, "美源金业");
  }
  catch (e) {
    try {
      window.sidebar.addPanel("美源金业", url, "");
    }
    catch (e) {
      alert("加入收藏失败,请使用Ctrl+D进行添加");
    }
  }
}
 
//#endregion 
 
//#region 全选/全不选
 
//CheckSelectAll(true);
 
function CheckSelectAll(check) {
  $("input[type='checkbox']").attr("checked", check)
}
 
//#endregion
 
//#region 验证码倒计时
 
//CountDown("#btnGetCode",60);
 
function CountDown(item, times) {//要操作的元素,时间(s)
  var timer = setInterval(function () {
    var btnValidate = $(item);
    if (times > 0) {
      btnValidate.attr("disabled", "false").css("opacity", "0.5").val("重新获取(" + times + ")");
      times--;
    } else {
      btnValidate.removeAttr("disabled").css("opacity", "1").val("获取验证码");
      clearInterval(timer);
    }
  }, 1000);
}
 
//#endregion
 
//#region 清除文本框默认值
 
//ClearEmpty("#txtName");
 
function ClearEmpty(obj) {//要操作的元素
  $(obj).focus(function () {
    if ($(this).val() == this.defaultValue) {
      $(this).val("");
    }
  }).blur(function () {
    if ($(this).val() == "") {
      $(this).val(this.defaultValue);
    }
  });
}
 
//#endregion
 
//#region 刷新页面
 
function Refresh() {
  window.parent.location.reload();
}
 
//#endregion
 
//#region 表单验证
 
//#region 检查是否为中文
 
// var item = checkChinese("中文");
 
function checkChinese(obj) {
  var reg = /[^\u4e00-\u9fa5]/;
  return !reg.test(obj);
}
 
//#endregion
 
//#region 检查是否为数字
 
// var item = checkNum("123");
 
function checkNum(obj) {
  var reg = /^\d+$/;
  return reg.test(obj);
}
 
//#endregion
 
//#region 检查是否为字母
 
// var item = checkLetter("abc");
 
function checkLetter(obj) {
  var reg = /^[a-zA-Z]+$/;
  return reg.test(obj);
}
 
//#endregion
 
//#region 检查是否为字母或数字
 
// var item = checkLetterNum("abc123");
 
function checkLetterNum(obj) {
  var reg = /^[a-zA-Z0-9]+$/;
  return reg.test(obj);
}
 
//#endregion
 
//#region 检查是否为字母或中文
 
// var item = checkLetterNum("abc123");
 
function checkLetterChina(obj) {
  var reg = /^[A-Za-z\u4E00-\u9FA5]+$/;
  return reg.test(obj);
}
 
//#endregion
 
//#region 检查是否为字母或中文或数字
 
// var item = checkLetterNum("abc123");
 
function checkLetterChinaNum(obj) {
  var reg = /^[a-zA-Z0-9\u4E00-\u9FA5]+$/;
  return reg.test(obj);
}
 
//#endregion
 
//#region 检查手机号码格式
 
// var item = checkMobile("13888888888")
 
function checkMobile(obj) {
  var reg = /^[1][3458][0-9]{9}$/;
  return reg.test(obj);
}
 
//#endregion
 
//#region 检查邮箱格式
 
// var item = checkEmail("abc@123.com")
 
function checkEmail(obj) {
  var reg = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  return reg.test(obj);
}
 
//#endregion
 
//#region 检查身份证格式
 
// var item = checkIDCard("555555555555555555")
 
function checkIDCard(obj) {
  var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
  return reg.test(obj);
}
 
//#endregion
 
//随机数
function GetRandomNum(Min, Max) {
  var Range = Max - Min;
  var Rand = Math.random();
  return (Min + Math.round(Rand * Range));
} 
 
//#endregion

相信本文所述对大家运用javascript进行WEB程序设计有不错的借鉴价值。

Javascript 相关文章推荐
脚本吧 - 幻宇工作室用到js,超强推荐base.js
Dec 23 Javascript
javascript mouseover、mouseout停止事件冒泡的解决方案
Apr 07 Javascript
编写简单的jQuery提示插件
Dec 21 Javascript
js函数与php函数的区别实例浅析
Jan 12 Javascript
javascript实现任务栏消息提示的简单实例
May 31 Javascript
jQuery在ie6下无法设置select选中的解决方法详解
Sep 20 Javascript
详解在Vue中如何使用axios跨域访问数据
Jul 07 Javascript
Vue.js实现网格列表布局转换方法
Aug 25 Javascript
详解vue项目首页加载速度优化
Oct 18 Javascript
Vue.js实现分页查询功能
Nov 15 Javascript
Angular项目从新建、打包到nginx部署全过程记录
Dec 09 Javascript
vue + element-ui实现简洁的导入导出功能
Dec 22 Javascript
优化Node.js Web应用运行速度的10个技巧
Sep 03 #Javascript
初识Node.js
Sep 03 #Javascript
node.js适合游戏后台开发吗?
Sep 03 #Javascript
浅析Node.js查找字符串功能
Sep 03 #Javascript
Node.js实现在目录中查找某个字符串及所在文件
Sep 03 #Javascript
iframe如何动态创建及释放其所占内存
Sep 03 #Javascript
Javascript正则控制文本框只能输入整数或浮点数
Sep 02 #Javascript
You might like
PHP5.2下chunk_split()函数整数溢出漏洞 分析
2007/06/06 PHP
php feof用来识别文件末尾字符的方法
2010/08/01 PHP
ecshop 2.72如何修改后台访问地址
2015/03/03 PHP
php自定义扩展名获取函数示例
2016/12/12 PHP
自制PHP框架之设计模式
2017/05/07 PHP
PHP实现求连续子数组最大和问题2种解决方法
2017/12/26 PHP
Jquery 实现Tab效果 思路是js思路
2010/03/02 Javascript
jquery中eq和get的区别与使用方法
2011/04/14 Javascript
JavaScript Array Flatten 与递归使用介绍
2011/10/30 Javascript
jQuery列表拖动排列具体实现
2013/11/04 Javascript
禁止页面刷新让F5快捷键及右键都无效
2014/01/22 Javascript
当某个文本框成为焦点时即清除文本框内容
2014/04/28 Javascript
jQuery实现鼠标单击网页文字后在文本框显示的方法
2015/05/06 Javascript
灵活使用数组制作图片切换js实现
2016/07/28 Javascript
详解JS异步加载的三种方式
2017/03/07 Javascript
xmlplus组件设计系列之网格(DataGrid)(10)
2017/05/05 Javascript
理解javascript async的用法
2017/08/22 Javascript
基于Vue2x的图片预览插件的示例代码
2018/05/14 Javascript
Angular6 发送手机验证码按钮倒计时效果实现方法
2019/01/08 Javascript
vue限制输入框只能输入8位整数和2位小数的代码
2019/11/06 Javascript
Vue单页面应用中实现Markdown渲染
2021/02/14 Vue.js
[04:29]2016国际邀请赛中国区预选赛Ehome战队教练采访
2016/06/27 DOTA
Django中login_required装饰器的深入介绍
2017/11/24 Python
python 实现视频流下载保存MP4的方法
2019/01/09 Python
python pytest进阶之fixture详解
2019/06/27 Python
Python中断多重循环的几种方式详解
2020/02/10 Python
Python中random模块常用方法的使用教程
2020/10/04 Python
马来西亚在线时尚女装商店:KEI MAG
2017/09/28 全球购物
法国低价在线宠物商店:bitiba.fr
2020/07/03 全球购物
建筑装饰学院室内设计专业个人自我评价
2013/12/07 职场文书
劳资专员岗位职责
2013/12/27 职场文书
《两个铁球同时着地》教学反思
2014/02/13 职场文书
军校大学生个人的自我评价
2014/02/17 职场文书
《青海高原一株柳》教学反思
2014/04/25 职场文书
2016年9月份红领巾广播稿
2015/12/21 职场文书
Redis基本数据类型String常用操作命令
2022/06/01 Redis