zl程序教程

您现在的位置是:首页 >  前端

当前栏目

JavaScript我的常用函数库

JavaScript 常用 函数库
2023-09-14 09:01:03 时间

以下是小宝鸽平时收藏的一些常用JavaScript函数,下面无私分享给各位猿友:

1. 检验是否数字 
2. 校验起止日期要小于结束日期 
3. 获取当前日期 
4. 获取上一个月的第一天 
5. 获取上一个月的最后一天 
6. 判断起末日期是否在同年同月 
7. 禁止回车键 
8. 正则验证手机号码 
9. 正则验证email格式 
10. 正则验证身份证号码 
11. 正则验证微信号,不少于6位,以字母开头,只能包含字母、数字、下划线和减号

/**

 * 检验是否数字

 * @param id 待校验元素id

 * @returns {Boolean},true是数字,false相反

function chaeckNum(id){

 var value=$(#+id).val();

 var reg=/^\d+$/;

 if(value){

 if(reg.test(value.trim())){

 return true;

 }else{

 alert(value + "不是数字");

 return false;

 return true;

 * 校验起止日期要小于结束日期

 * @param beginDateID 开始日期id

 * @param endDateID 结束日期id

 * @returns {Boolean},true开始日期小于结束日期,false相反

function dateCompare(beginDateID,endDateID){

 var flag=true;

 var beginDate=$(#+beginDateID).val();

 var endDate=$(#+endDateID).val();

 if(beginDate endDate){

 var beginArray=beginDate.split("-");

 var endArray=endDate.split("-");

 var beginTime=beginArray[0]+"/"+beginArray[1]+"/"+beginArray[2];

 var endTime=endArray[0]+"/"+endArray[1]+"/"+endArray[2];

 if(beginTime endTime){

 alert("起始日期不能大于结束日期!");

 flag=false;

 }else{

 flag=true;

 return flag;

//获取当前日期

function getNowDate(){

 var now = new Date();

 var month=now.getMonth()+1;

 if(month 10){

 month="0"+month;

 var day=now.getDate();

 if(day 10){

 day="0"+day;

 return now.getFullYear() +"-"+month+"-"+day;

//获取上一个月的第一天

function getStartMonth(){

 var now = new Date();

 now.setMonth(now.getMonth()-1);

 var date = "01";

 var month=now.getMonth()+1;

 if(month 10){

 month="0"+month;

 return now.getFullYear()+"-"+ month +"-"+date;

//获取上一个月的最后一天

function getEndMonth(){

 var now= new Date();

 now.setDate("01");

 now.setDate(now.getDate()-1);

 var month=now.getMonth()+1;

 if(month 10){

 month="0"+month;

 return now.getFullYear() +"-"+month+"-"+now.getDate();

//判断起末日期是否在同年同月

function checkCommonMonth(startMonthId,endMonthId){

 var start=$("#"+startMonthId).val();

 var end=$("#"+endMonthId).val();

 var startDate=start.substr(0,7);

 var endDate=end.substr(0,7);

 var flag=false;

 if(startDate==endDate){

 flag=true;

 }else{

 alert("起始日期与结束日期必须同月!");

 flag=false;

 return flag;

 * 禁止回车,禁止其他键同理

 * @param id 待禁止元素id

function forbidKeydown(id){

 $("#"+id).bind(keydown,function(event){

 if(event.keyCode == 13){

 event.keyCode = 0;

 return false;

 * 正则验证手机号码

 * */

function checkMobile(mobile){

// var m = /^1[0-9]{2}\d{4,8}$/;

 var m = /^1\d{10}$/;

 if(!m.test(mobile)){

 return false;

 return true;

 * 正则验证email格式

 * */

function checkEmail(mail){

 var em=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

 if(!em.test(mail)){

 return false;

 return true;

 * 正则验证身份证号码

 * */

function checkIdenCode(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 || !/^\d{6}(18|19|20)?\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/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;

 return pass;

 * 正则验证微信号,不少于6位,以字母开头,只能包含字母、数字、下划线和减号

 * */

function checkWeiXinNum(str){

 var em=/^[a-zA-Z][a-zA-Z0-9_-]{5,}$/;

 if(!em.test(str)){

 return false;

 return true;