/**
* 验证手机号码 <br/>
* @param mobile
* @returns {Boolean}
*/
function validateMobile(mobile){
if(!mobile || mobile == ""){
return false;
}
var validate = false;
var reg =/^((\+?86)|(\(\+86\)))?(13[0123456789][0-9]{8}|15[012356789][0-9]{8}|170[0125789][0-9]{7}|17[678][0-9]{8}|18[012356789][0-9]{8}|147[0-9]{8}|1349[0-9]{7})$/;
if (reg.test(mobile)) {
validate = true;
}else{
validate = false;
};
return validate;
}
/**
* 验证电话号码 <br/>
* @param telphone
* @returns {Boolean}
*/
function validateTel(telphone){
if(!telphone || telphone == ""){
return false;
}
var validate = false;
var reg =/^(0[0-9]{2,3})?(-)?[0-9]{7,8}$/;
if (reg.test(telphone)) {
validate = true;
}else{
validate = false;
};
return validate;
}
/**
* 验证邮箱地址
* @param email
* @returns {Boolean}
*/
function validateEmail(email){
if(!email || email == ""){
return false;
}
var pattern = /^([\.a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
if (!pattern.test(email)) {
return false;
}else{
return true;
}
}
/**
* 验证15位或18位身份证号码
* @param idCard
* @returns {Boolean}
*/
function validateIdCard(idCard) {
//15位和18位身份证号码的正则表达式
var regIdCard = /^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/;
//如果通过该验证,说明身份证格式正确,但准确性还需计算
if (regIdCard.test(idCard)) {
if (idCard.length == 18) {
var idCardWi = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9,10, 5, 8, 4, 2); //将前17位加权因子保存在数组里
var idCardY = new Array(1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2); //这是除以11后,可能产生的11位余数、验证码,也保存成数组
var idCardWiSum = 0; //用来保存前17位各自乖以加权因子后的总和
for (var i = 0; i < 17; i++) {
idCardWiSum += idCard.substring(i, i + 1) * idCardWi[i];
}
var idCardMod = idCardWiSum % 11;//计算出校验码所在数组的位置
var idCardLast = idCard.substring(17);//得到最后一位身份证号码
//如果等于2,则说明校验码是10,身份证号码最后一位应该是X
if (idCardMod == 2) {
if (!(idCardLast == "X" || idCardLast == "x")) {
return false;
}
} else {
//用计算出的验证码与最后一位身份证号码匹配,如果一致,说明通过,否则是无效的身份证号码
if (!(idCardLast == idCardY[idCardMod])) {
return false;
}
}
}
} else {
return false;
}
return true;
}
//扩展Date的format方法
//对Date的扩展,将 Date 转化为指定格式的String
//月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
//年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
//例子:
//(new Date()).Format("yyyy-MM-dd HH:mm:ss.S") ==> 2006-07-02 08:09:04.423
//(new Date()).Format("yyyy-M-d H:m:s.S") ==> 2006-7-2 8:9:4.18
Date.prototype.format = function (format) {
var o = {
"M+": this.getMonth() + 1,
"d+": this.getDate(),
"h+": this.getHours(),
"m+": this.getMinutes(),
"s+": this.getSeconds(),
"q+": Math.floor((this.getMonth() + 3) / 3),
"S": this.getMilliseconds()
}
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
实用前端JS工具类(验证,AJAX请求封装,分页插件等)真实项目使用
最新推荐文章于 2024-07-06 14:21:23 发布
这篇博客分享了几个实用的前端JavaScript工具类,包括手机号码和电话号码验证、邮箱地址验证、身份证号码验证,以及Date对象的扩展,提供了格式化日期的方法。此外,还封装了AJAX请求函数和分页插件,适用于真实项目的开发需求。
摘要由CSDN通过智能技术生成