常用JS表单验证函数
// JavaScript Document
function delSpace(txt){ //清除字符串中所有的空白字符
if(txt == null ){
return "";
}else{
txt = txt.toString();
txt = txt.replace(/\s{1,}/,"");
return txt;
}
}
function isQQ(txt){//是否为QQ号码,即5-9位数字
if(txt == null || txt == ""){return false;}
else{
var regex = /[1-9]{1}[0-9]{4,8}/;
return regex.test(txt);
}
}
function isPhoneNum(txt){ //检测是否为电话号码(固定电话或手机)
return isPhone(txt)||isMobile(txt);
}
function isPhone(txt){//检测是否为固定电话号码
if(txt == null || txt == ""){return false;}
else{
var regex = /[0-9]{1}[0-9]{2,3}-[1-9]{1}[0-9]{5,8}/;
return regex.test(txt);
}
}
function isMobile(txt){//检测是否为手机号码
if(txt == null || txt == ""){return false;}
else{
var regex = /13[0-9]{9}/;
return regex.test(txt);
}
}
function isEmail(txt){ //是否为电子邮件地址:xxx@xxx.xxx
if(txt == null || txt == ""){return false;}
else{
var regex = /(.){1,}@(.){1,}\.(.){1,}/;
return regex.test(txt);
}
}
function isNumeric(txt){ //是否为数字
if(txt == null || txt == ""){return false;}
else{
txt = delSpace(txt);
return !isNaN(parseFloat(txt));
}
}
function isInteger(txt){ // 是否为整数
if(txt == null || txt == ""){return false;}
else{
txt = delSpace(txt);
return ! isNaN(parseInt(txt));
}
}
function isPositiveNumber(txt){ //是否为正数
if(txt == null || txt == ""){return false;}
else{
txt = delSpace(txt);
if(isNaN(parseInt(txt))){return false;}
else{
return (parseInt(txt) > 0);
}
}
}
function isDateFormat(txt){ //是否为合法的日期格式:YYYY-MM-DD
if(txt==null || txt == ""){return false;}
else{
var regex = /[0-9]{1,4}-[0-9]{1,2}-[0-9]{1,2}/;
if( regex.test(txt) ){
var noArr = txt.split("-");
var year = eval(noArr[0]);
var month = eval(noArr[1]);
var day = eval(noArr[2]);
if ( year < 1 || month < 1 || month > 12 || day < 1 || day > 31) {return false;}
if ((month == 4 || month == 6 || month == 9 || month == 11) && day > 30){return false;}
if (month == 2){
if ((year % 4 != 0) && day > 29) { return false;}
if (year % 4 == 0){
if(year % 100 == 0 && year % 400 != 0 && day > 29){return false;}
else if (day > 28){ return false;}
}
}
return true;
}else{return false;}
}
}
function chkWordMount(obj,amt,indicator){ //限制某一输入控件的输入字符数并返回与目标字数的差值
var objValue = obj.value;
var len = objValue.length;
if(len > amt){
obj.value = objValue.substr(0,amt);
indicator.innerText = "0";
}else{
indicator.innerText = amt - len ;
}
}
function deltag(txt){
var reg = /(<{1})([^<]{1,})(>{1})/;
txt = txt.replace(reg,"");
return txt;
}
function isIdCardNum(txt){ //检测15位或18位的身份证号
if(txt == null || txt == ""){
return false;
}
var idNo = txt.toString();
var len = idNo.length;
var reg;
var noArr;
var dateStr="";
if(len != 15 && len != 18){
return false;
}else if(len == 15){
reg = /(\d{3})(\d{3})(\d{2})(\d{2})(\d{2})(\d{3})/;
if(reg.test(idNo)==false){
return false;
}else{
noArr = reg.exec(idNo);
dateStr = "19"+noArr[3]+"-"+noArr[4]+"-"+noArr[5];
return isDateFormat(dateStr);
}
}else{
reg = /(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})([0-9xX]{1})/;
if(reg.test(idNo)==false){
return false;
}else{
noArr = reg.exec(idNo);
dateStr = noArr[7]+noArr[8]+noArr[9]+noArr[10]+"/"+noArr[11]+noArr[12]+"/"+noArr[13]+noArr[14];
if(isNaN(new Date(dateStr)) == false){
var wi = new Array(0,7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2);
var amt = 0;
var i;
var chkNo = new Array("1","0","X","9","8","7","6","5","4","3","2");
for(i=1;i<18;i++){
amt += (noArr[i]*wi[i]);
}
return (chkNo[amt % 11] == noArr[18].toUpperCase());
}else{
return false;
}
}
}
}

浙公网安备 33010602011771号