1、判断是否为数字(整数、小数)
//使用isNaN()函数
//isNaN()的缺点就在于 null、空格以及空串会被按照0来处理
//isNaN: Not a Number
function isRealNum(val){// isNaN()函数 把空串 空格 以及NUll 按照0来处理 所以先去除if(val === "" || val ==null){return false;}if(!isNaN(val)){return true;}else{return false;}
} function isNumber(val){var regPos = /^\d+(\.\d+)?$/; //非负浮点数var regNeg = /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/; //负浮点数if(regPos.test(val) || regNeg.test(val)){return true;}else{return false;}}
//小数
var n=3.143423423;
alert(n.toString().split(".")[1].length);
2、金额
function changeMoneyToChinese(money){var cnNums = new Array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖"); //汉字的数字var cnIntRadice = new Array("","拾","佰","仟"); //基本单位var cnIntUnits = new Array("","万","亿","兆"); //对应整数部分扩展单位var cnDecUnits = new Array("角","分","毫","厘"); //对应小数部分单位//var cnInteger = "整"; //整数金额时后面跟的字符var cnIntLast = "元"; //整型完以后的单位var maxNum = 999999999999999.9999; //最大处理的数字var IntegerNum; //金额整数部分var DecimalNum; //金额小数部分var ChineseStr=""; //输出的中文金额字符串var parts; //分离金额后用的数组,预定义if( money == "" ){return "";}money = parseFloat(money);if( money >= maxNum ){$.alert('超出最大处理数字');return "";}if( money == 0 ){//ChineseStr = cnNums[0]+cnIntLast+cnInteger;ChineseStr = cnNums[0]+cnIntLast//document.getElementById("show").value=ChineseStr;return ChineseStr;}money = money.toString(); //转换为字符串if( money.indexOf(".") == -1 ){IntegerNum = money;DecimalNum = '';}else{parts = money.split(".");IntegerNum = parts[0];DecimalNum = parts[1].substr(0,4);}if( parseInt(IntegerNum,10) > 0 ){//获取整型部分转换zeroCount = 0;IntLen = IntegerNum.length;for( i=0;i<IntLen;i++ ){n = IntegerNum.substr(i,1);p = IntLen - i - 1;q = p / 4;m = p % 4;if( n == "0" ){zeroCount++;}else{if( zeroCount > 0 ){ChineseStr += cnNums[0];}zeroCount = 0; //归零ChineseStr += cnNums[parseInt(n)]+cnIntRadice[m];}if( m==0 && zeroCount<4 ){ChineseStr += cnIntUnits[q];}}ChineseStr += cnIntLast;//整型部分处理完毕}if( DecimalNum!= '' ){//小数部分decLen = DecimalNum.length;for( i=0; i<decLen; i++ ){n = DecimalNum.substr(i,1);if( n != '0' ){ChineseStr += cnNums[Number(n)]+cnDecUnits[i];}}}if( ChineseStr == '' ){//ChineseStr += cnNums[0]+cnIntLast+cnInteger;ChineseStr += cnNums[0]+cnIntLast;}/* else if( DecimalNum == '' ){ChineseStr += cnInteger;ChineseStr += cnInteger;} */return ChineseStr;}
3、身份证
function testid(id) {// 1 "验证通过!", 0 //校验不通过var format = /^(([1][1-5])|([2][1-3])|([3][1-7])|([4][1-6])|([5][0-4])|([6][1-5])|([7][1])|([8][1-2]))\d{4}(([1][9]\d{2})|([2]\d{3}))(([0][1-9])|([1][0-2]))(([0][1-9])|([1-2][0-9])|([3][0-1]))\d{3}[0-9xX]$/;//号码规则校验if(!format.test(id)){return {'status':0,'msg':'身份证号码不合规'};}//区位码校验//出生年月日校验 前正则限制起始年份为1900;var year = id.substr(6,4),//身份证年month = id.substr(10,2),//身份证月date = id.substr(12,2),//身份证日time = Date.parse(month+'-'+date+'-'+year),//身份证日期时间戳datenow_time = Date.parse(new Date()),//当前时间戳dates = (new Date(year,month,0)).getDate();//身份证当月天数if(time>now_time||date>dates){return {'status':0,'msg':'出生日期不合规'}}//校验码判断var c = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2); //系数var b = new Array('1','0','X','9','8','7','6','5','4','3','2'); //校验码对照表var id_array = id.split("");var sum = 0;for(var k=0;k<17;k++){sum+=parseInt(id_array[k])*parseInt(c[k]);}if(id_array[17].toUpperCase() != b[sum%11].toUpperCase()){return {'status':0,'msg':'身份证校验码不合规'}}return {'status':1,'msg':'校验通过'}
}
5、是否必录
//校验表单必录,每个必录的表单需要增加一个属性required='true'
6、邮箱
var reg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
if(!reg.test(Email)){alert("电子邮箱格式有误!");
}
7、手机号码
var reg=/^[1][3,4,5,7,8][0-9]{9}$/;
if(!reg.test(PhoneorTel)){
alert("手机号码格式有误!你确定要继续吗?");}
8、邮编
var reg= /^[1-9][0-9]{5}$/;
if(!reg.test(PostCode)){
alert("邮政编码格式有误!")
}