1、数据类型
function getType(data) {return Object.prototype.toString.call(data).slice(8, -1)}// getType([]) --> \'Array\'// getType({}) --> \'Object\'
2、时间格式化
function $dateFmt(fmt, date) {let 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 (let 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;}
3、cookie操作
function setCookie(name, value, day) {if (day !== 0) { //当设置的时间等于0时,不设置expires属性,cookie在浏览器关闭后删除let expires = day * 24 * 60 * 60 * 1000;let date = new Date(+new Date() + expires);document.cookie = name + \"=\" + escape(value) + \";expires=\" + date.toUTCString() + \"; path=/\";} else {document.cookie = name + \"=\" + escape(value);}}function getCookie(cookie, name) {var arr;var reg = new RegExp(\"(^| )\" + name + \"=([^;]*)(;|$)\");if (arr = cookie.match(reg)) {return unescape(arr[2]);} else {return null;}}function delCookie(name) {setCookie(name, \' \', -1);}
4、手机号码校验
function isPhone(phone) {return /^((13[0-9])|(14[1|4|5|6|7|8|9])|(15([0|1|2|3|5|6|7|8|9]))|(16[2|5|6|7])|(17[0|1|2|3|5|6|7|8])|(18[0-9])|(19[1|8|9]))\\d{8}$/.test(phone)}
5、身份证号校验
function checkIDCard(idcode){// 加权因子var weight_factor = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];// 校验码var check_code = [\'1\', \'0\', \'X\' , \'9\', \'8\', \'7\', \'6\', \'5\', \'4\', \'3\', \'2\'];var code = idcode + \"\";var last = idcode[17];//最后一位var seventeen = code.substring(0,17);// ISO 7064:1983.MOD 11-2// 判断最后一位校验码是否正确var arr = seventeen.split(\"\");var len = arr.length;var num = 0;for(var i = 0; i < len; i++){num = num + arr[i] * weight_factor[i];}// 获取余数var resisue = num%11;var last_no = check_code[resisue];// 格式的正则// 正则思路/*第一位不可能是0第二位到第六位可以是0-9第七位到第十位是年份,所以七八位为19或者20十一位和十二位是月份,这两位是01-12之间的数值十三位和十四位是日期,是从01-31之间的数值十五,十六,十七都是数字0-9十八位可能是数字0-9,也可能是X*/var idcard_patter = /^[1-9][0-9]{5}([1][9][0-9]{2}|[2][0][0|1][0-9])([0][1-9]|[1][0|1|2])([0][1-9]|[1|2][0-9]|[3][0|1])[0-9]{3}([0-9]|[X]|[x])$/;// 判断格式是否正确var format = idcard_patter.test(idcode);// 返回验证结果,校验码和格式同时正确才算是合法的身份证号码return last.toLowerCase()== last_no.toLowerCase() && format ? true : false;}
View Code
6、邮箱校验
function isEmail(email){ var reg = new RegExp(\"^[a-z0-9]+([._\\\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$\"); //正则表达式 if(email === \"\"){ //输入不能为空 alert(\"输入不能为空!\"); return false; }else if(!reg.test(email)){ //正则验证不通过,格式不对 alert(\"验证不通过!\"); return false; }else{ alert(\"通过!\"); return true; }}
7、url 参数转对象
function parse_url(_url){var pattern = /(\\w+)=(\\ad1w+)/ig;var parames = {};_url.replace(pattern, function(a, b, c){ parames[b] = c;});return parames;}
未完待续……