- //正则表达式
- var regDate=/^([1-9]{1}[d]{3})-([d]{2})-([0-4]{1}[d]{1})$/ //年份
- var regTime=/^([d]{2})<img src="images/smilies/frown.gif" border="0" alt="">[d]{2})<img src="images/smilies/frown.gif" border="0" alt="">[d]{2})$/;//时间
- var regTel=/^(0[d]{2,3}[-])?([d]{2,3}[-])?([d]{7,8})$/;//常用的电话
- var regEmail=/^([a-zA-Z0-9_-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([a-zA-Z0-9-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$/;//Email
- var regNum=/^[1-9][d]*((.?[d])[d]*)?$/;//数字
- var regInt=/^-?[1-9][d]*$/;//整数
- //^[-+]?[0-9]+[.]?[0-9]*([eE][-+]?[0-9]+)?$ 数字
- //^[-+]?d+(.d+)?$
- //判断数字
- //返回值:正确:true 错误:false
- function isNum(num){
- flag=regNum.test(num);
- if(flag) return true;
- return false;
- }
- //整数的确认;
- //返回值:正确 true 错误 false
- function isInt(theInt){
- var flag=regInt.test(theInt);
- if(flag) return true;
- return false;
- }
- //判断Email地址的的合理性
- //返回值:正确:true 错误:false
- function isEmail(eStr){
- flag=regEmail.test(eStr);
- if(flag) return true;
- return false;
- }
- //获取客户端的当前时间
- var dDate=new Date();
- var dYear=dDate.getFullYear();
- var dMonth=FillNumber(dDate.getMonth()+1);
- var dDay=FillNumber(dDate.getDate());
- var dHours=FillNumber(dDate.getHours());
- var dMinutes=FillNumber(dDate.getMinutes());
- var dSeconds=FillNumber(dDate.getSeconds());
- //返回当前时间
- function hms(){
- hm=FillNumber(new Date().getHours())+":"+FillNumber(new Date().getMinutes())+":"+FillNumber(new Date().getSeconds());
- return hm;
- }
- // 日期的确认 isDate()
- // 返回值:正确 true, 错误 false
- function isDate (theStr) {
- var dArray=theStr.match(regDate); //得到数组
- if (dArray==null){
- return (false);
- }
- else { //把年份月份日期分别付给变量
- var y = dArray[1];
- var m = dArray[2];
- var d = dArray[3];
- var maxDays = 31; //最长天数
- if (m>12 || m<1 ) return false;//判断月份是否在1-12之间
- if (m == 4 || m == 6 || m == 9 || m == 11) maxDays = 30;
- else if(m == 2) {
- if ( y % 4 > 0) maxDays = 28;
- else if ( y % 100 == 0 && y % 400 > 0) maxDays = 28;
- else maxDays = 29;
- }
- if (d>maxDays || d<1){//判断日期是否正确
- return false;
- }
- else {
- return true;
- }
- }
- }
- // 时间确认 isTime()
- // 返回值:正确 true, 错误 false
- function isTime (theStr) {
- var tArray=theStr.match(regTime);
- if(tArray==null) return false;
- var h=tArray[1];
- var m=tArray[2];
- var s=tArray[3];
- if( s>59 || s<0) return false;
- if(m>59 || m<0) return false;
- if(h>23||h<0) return false;
- return true;
- }
- //为1位日期数字加0
- function FillNumber(num)
- {
- switch (num)
- {
- case 0 :
- ReturnNum="00";
- break;
- case 1 :
- ReturnNum="01";
- break;
- case 2 :
- ReturnNum="02";
- break;
- case 3 :
- ReturnNum="03";
- break;
- case 4 :
- ReturnNum="04";
- break;
- case 5 :
- ReturnNum="05";
- break;
- case 6 :
- ReturnNum="06";
- break;
- case 7 :
- ReturnNum="07";
- break;
- case 8 :
- ReturnNum="08";
- break;
- case 9 :
- ReturnNum="09";
- break;
- default :
- ReturnNum=num;
- }
- return ReturnNum;
- }
- //判断电话号码的合理性
- //正确: True 错误: False
- function isTel(str){
- var flag=regTel.test(str);
- if (flag) return true;
- return false;
- }
- //时间+字符串函数
- //三个参数:interval:决定往哪加:h:加在小时上,m:加在分钟上,S:加在秒钟上。
- //number:决定加多少;time:时间字符串。
- function timeAdd(interval,number,time){
- //alert(time);
- var flag=isTime(time);//判断time是否是时间字符串
- if (flag){
- var tArray=time.match(regTime);
- var h=tArray[1];
- var m=tArray[2];
- var s=tArray[3];
- switch (interval){
- case "h":
- var h=eval(number+"+"+h);
- var hCarry=Math.floor(h/24);//floor:返回小于等于其数字参数的最大整数
- h=FillNumber(eval(h+"-"+24+"*"+hCarry));
- h=h+":"+m+":"+s;
- return h;
- break;
- case "m":
- var m=eval(m+"+"+number);
- var mCarry=Math.floor(m/60);
- m=FillNumber(eval(m+"-"+60+"*"+mCarry))
- h=eval(h+"+"+mCarry); //加上从分钟上的进位。
- var hCarry=Math.floor(h/24);
- h=FillNumber(eval(h+"-"+24+"*"+hCarry));
- m=h+":"+m+":"+s;
- return m;
- break;
- case "s":
- var s=eval(s+"+"+number);
- var sCarry=Math.floor(s/60);
- s=FillNumber(eval(s+"-"+60+"*"+sCarry)); //得到秒数
- m=eval(m+"+"+sCarry); //加上秒钟进位
- var mCarry=Math.floor(m/60);
- m=FillNumber(eval(m+"-"+60+"*"+mCarry)); //得到分钟数
- h=eval(h+"+"+mCarry); //加上从分钟上的进位。
- var hCarry=Math.floor(h/24);
- h=FillNumber(eval(h+"-"+24+"*"+hCarry)); //得到小时数
- s=h+":"+m+":"+s; //得到最后结果
- return s;
- break;
- default:
- alert("参数错误,请认真检查");
- }
- }
- else{
- alert("时间字符串错误");
- }
- }
- //得到字符串的长度*汉字为2个字符
- function strlen(str)
- {
- len=0;
- n=str.length;
- for(i=0;i<n;i++)
- {
- if(str.charCodeAt(i)>255){
- len+=2;
- }
- else{
- len+=1;
- }
- }
- return len;
- }