JS常用验证方法
2014-10-31 10:42
260 查看
//不足补0 数字 长度 add0(2,2),输出02 var add0 =function (num, length) { return (num / Math.pow(10, length)).toFixed(length).substr(2); } //是否数字 var isNum = function (num) { var reg = new RegExp("^[0-9]*$"); return reg.test(num); } //是否手机号11位 var isPhone=function(num){ var reg =/^1\d{10}$/; return reg.test(num); } //是否银行卡号 var isCardNum=function(num){ num=num.replace(/\s/g,''); //去除字符串所有空格 var reg = /(^\d{16}$)|(^\d{19}$)/; return reg.test(num); } //是否qq var isQQ = function(num) { var reg = /^[1-9]{1}\d{4,11}$/; return reg.test(num); } //是否邮箱 var isEmail = function(num) { var reg = /^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; return reg.test(num); } //是否身份证 var isIdcard = function(num) { var reg = /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/; return reg.test(num); } //是否中文 var isChinese = function(num) { var reg =/[\u4e00-\u9fa5]/g; return reg.test(num); } //是否由字母和数字,下划线,点号组成.且开头的只能是下划线和字母 var isChinese = function(num) { var reg =/^([a-zA-z_]{1})([\w]*)$/g; return reg.test(num); } //电话测试 校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-” var isTel = function(str){ var reg = /^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/; return reg.test(str); } //是否为空或空格 var isNull = function( str ){ if ( str == "" ) return true; var regu = "^[ ]+$"; var re = new RegExp(regu); return re.test(str); } //是否ip var isIP = function(strIP) { if (isNull(strIP)) return false; var re=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g if(re.test(strIP)) { if( RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256) return true; } return false; } //两次是否相等 var isPassword = function(str1,str2) { if (str1==str2) {return(true);} else {return(false);} } //是否邮编 var isZipCode = function(str){ var reg = /^(\d){6}$/; return reg.test(str); } //是否全部英文 var isEnglish = function(str){ var reg = /^[A-Za-z]+$/; return reg.test(str); } //是否连接url var isURL = function(str){ var reg = /^http:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/; return reg.test(str); } //是否闰年 isLeapYear(2000) var isLeapYear = function(year) { return (0 == year % 4 && ((year % 100 != 0) || (year % 400 == 0))) } //是否在某个范围的整形数字 var isInt =function(n, iMin, iMax){ if(!isFinite(n)) { return false; } if(!/^[+-]?\d+$/.test(n)) { return false; } if(iMin!=undefined && parseInt(n)<parseInt(iMin)) { return false; } if(iMax!=undefined && parseInt(n)>parseInt(iMax)) { return false; } return true; } //浮点数 var isFloat= function(n, fMin, fMax){ if(!isFinite(n)) { return false; } if(fMin!=undefined && parseFloat(n)<parseFloat(fMin)) { return false; } if(fMax!=undefined && parseFloat(n)>parseFloat(fMax)) { return false; } return true; } //格式化时间 alert(dataFormat(new Date(),"q季度 yyyy-MM-dd hh:mm:ss.S")) //2013-12-12 18:09:04.423 var dataFormat=function(bedate,fmt){ var o = { "M+": bedate.getMonth() + 1, //月份 "d+": bedate.getDate(), //日 "h+": bedate.getHours(), //小时 "m+": bedate.getMinutes(), //分 "s+": bedate.getSeconds(), //秒 "q+": Math.floor((bedate.getMonth() + 3) / 3), //季度 "S": bedate.getMilliseconds() //毫秒 }; if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (bedate.getFullYear() + "").substr(4 - RegExp.$1.length)); for (var 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; } //去除两边空格 var trim = function(str){ return str.replace(/(^\s*)|(\s*$)/g, ""); } //html转换成实体 var Htmlencode = function (sStr) { return sStr.replace(/&/g, "&") .replace(/>/g, ">") .replace(/</g, "<") .replace(/"/g, """) .replace(/'/g, "'") .replace(/=/g, "=") .replace(/`/g, "`"); }; //字符计算 中文2,英文1 var getStringLength = function(str){ var bytes=0,i=0; for (; i<str.length; ++i,++bytes) { if ( str.charCodeAt(i) > 255 ) { ++bytes; } } return bytes; } //cutChinese("我爱你4中国111",'7',"...") //截取中文和英文 var cutChinese = function(str, iMaxBytes, sSuffix){ if(isNaN(iMaxBytes)) return str; if(getStringLength(str)<=iMaxBytes) return str; var i=0, bytes=0; for (; i<str.length && bytes<iMaxBytes; ++i,++bytes) { if ( str.charCodeAt(i) > 255 ) { ++bytes; } } sSuffix = sSuffix || ""; return (bytes-iMaxBytes == 1 ? str.substr(0,i-1) : str.substr(0,i) ) + sSuffix; } //随机整数 getrandom(5) 0到5之间随机数 var getrandom = function(n){ return Math.floor(Math.random() * n); } //获得域名 var getRootPath = function(){ var curWwwPath=window.document.location.href; var pathName=window.document.location.pathname; var pos=curWwwPath.indexOf(pathName); var localhostPaht=curWwwPath.substring(0,pos); var projectName=pathName.substring(0,pathName.substr(1).indexOf('/')+1); return(localhostPaht+projectName); }