function trimSpace(ids){
var aftertrim=$("#"+ids).val();
$("#"+ids).val(aftertrim.replace(/(^\s*)|(\s*$)/g,'')) ;
}
/**
* 显示提示
* @param obj
* @param type
* @return
*/
function appendWarning(obj,type){
/* if(jQuery.trim(jQuery(".warnspan").html()) != "")
return;*/
if(jQuery(obj).next().html()==undefined){
jQuery(obj).parent().append(" "+getMeg(type)+"");
}
}
/**
* 校验方法入口 是否为空
* @return
*/
function validate_id_empty(ids){
jQuery("span").remove(".warnspan");
/**
* 不能为空的验证,用例如下:class="req"
*/
for(var j=0;j1){
type=myid[1];
}
if(type=="req"&&(jQuery("#"+myid[0])[0].type=="checkbox"||jQuery("#"+myid[0])[0].type=="radio")){
checkitCR(jQuery("#"+myid[0])[0].name);
}else{
jQuery("#"+myid[0]).each(function(i){checkit(this,type)});
}
}
if(jQuery.trim(jQuery(".warnspan").html()) == ""){
return true;
}else{
return false;
}
}
/**
* 校验方法入口 是否为空
* name 根据name 校验必填
* @return
*/
function checkitCR(name){
var flag = false;
var test = $("input[name='"+name+"']").each(function(i, o){
if($(o).is(':checked')){
flag = true;
}
});
if(flag == false){
appendWarning($("input[name='"+name+"']")[0],"req");
return;
}
}
/**
* 校验方法入口 是否为空
* type int float phone
* @return
*/
function validate_id_type(id,type){
jQuery("span").remove(".warnspan");
/**
* 不能为空的验证,用例如下:class="req"
*/
jQuery("#"+id).each(function(i){checkittype(this,type)});
if(jQuery.trim(jQuery(".warnspan").html()) == ""){
return true;
}else{
return false;
}
}
/**
* 校验合法性
* @param obj
* @param i
* @return
*/
function checkit(obj,type){
if(type.indexOf("req")>-1){
if(jQuery(obj).val() == ""){
appendWarning(obj,"req");
return;
}else{
checkittype(obj,type.replace("req-",""));
}
}else if(type.length>0&&type.indexOf("req-")==-1){
checkittype(obj,type);
}
}
/**
* 身份证号码验证
* */
var powers=new Array("7","9","10","5","8","4","2","1","6","3","7","9","10","5","8","4","2");
var parityBit=new Array("1","0","X","9","8","7","6","5","4","3","2");
var sex="male";
//校验身份证号码的主调用
function validId(obj){
var _id=obj.value;
if(_id=="")return;
var _valid=false;
if(_id.length==15){
_valid=validId15(_id);
}else if(_id.length==18){
_valid=validId18(_id);
}
if(!_valid){
return false;
}
return true;
}
//校验18位的身份证号码
function validId18(_id){
_id=_id+"";
var _num=_id.substr(0,17);
var _parityBit=_id.substr(17);
var _power=0;
for(var i=0;i< 17;i++){
//校验每一位的合法性
if(_num.charAt(i)<'0'||_num.charAt(i)>'9'){
return false;
break;
}else{
//加权
_power+=parseInt(_num.charAt(i))*parseInt(powers[i]);
}
}
var mod=parseInt(_power)%11;
if(parityBit[mod]==_parityBit){
return true;
}
return false;
}
//校验15位的身份证号码
function validId15(_id){
_id=_id+"";
for(var i=0;i<_id.length;i++){
//校验每一位的合法性
if(_id.charAt(i)<'0'||_id.charAt(i)>'9'){
return false;
break;
}
}
var year=_id.substr(6,2);
var month=_id.substr(8,2);
var day=_id.substr(10,2);
var sexBit=_id.substr(14);
if(year<'01'||year >'90')return false;
if(month<'01'||month >'12')return false;
if(day<'01'||day >'31')return false;
if(sexBit%2==0){
sex="female";
}else{
sex="male";
}
return true;
}
/**
* 校验合法性
* @param obj
* @param i
* @return
*/
function checkittype(obj,type){
jQuery(obj).next().remove(".warnspan");
if(jQuery(obj).val() == ""){
return;
}
if(type == "int" || type == "pint"){
var sl = parseInt(jQuery(obj).val());
if (isNaN(jQuery(obj).val())){
appendWarning(obj,type);
jQuery(obj).val('');
obj.focus();
return;
}else if(type == "pint"){
if(sl < 0){
appendWarning(obj,type);
jQuery(obj).val('');
obj.focus();
return;
}
}
if(jQuery(obj).val().indexOf(".") != -1){
appendWarning(obj,type);
jQuery(obj).val('');
obj.focus();
return;
}
}else if(type == "email"){
var filter=/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
if(!filter.test(jQuery(obj).val())&&jQuery(obj).val().length>0){
appendWarning(obj, "email");
jQuery(obj).val('');
obj.focus();
return;
}
}else if(type == "float"){
var filter=/^-?\d+\.?\d*$/; //实数
if(!filter.test(jQuery(obj).val())&&jQuery(obj).val().length>0){
appendWarning(obj, "float");
jQuery(obj).val('');
obj.focus();
return;
}
}else if(type == "phone"){//座机固话
var filter=/^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/;
if(!filter.test(jQuery(obj).val())&&jQuery(obj).val().length>0){
appendWarning(obj, "phone");
jQuery(obj).val('');
obj.focus();
return;
}
}else if(type == "postalcode"){//邮政编码
var filter=/[0-9]\d{5}(?!\d)/;
if(!filter.test(jQuery(obj).val())&&jQuery(obj).val().length>0){
appendWarning(obj, "postalcode");
jQuery(obj).val('');
obj.focus();
return;
}
}else if(type == "fax"){//传真号码
var filter=/^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/;
if(!filter.test(jQuery(obj).val())&&jQuery(obj).val().length>0){
appendWarning(obj, "fax");
jQuery(obj).val('');
obj.focus();
return;
}
}else if(type == "mobile"){ //手机号码
//var filter = /^(?:13\d|15\d{1}|17\d{1}|18\d{1})-?\d{5}(\d{3}|\*{3})$/;
var filter = /^\d{11}$/;
//var filter2 =/^\d{7,8}$/;
//if(!filter.test(jQuery(obj).val())&&jQuery(obj).val().length>0&&!filter2.test(jQuery(obj).val())){
/**
*1. 注释掉的是原版,刘功勋修改过一次,
* 删掉了 filter2正则表达式,判断括号里删掉了filter2的过滤条件,
* 不然验证手机号码是会出现7到8位数字也能通过的现象
* 2. 后看来客户只要求验证是11位数字就好
*/
if(!filter.test(jQuery(obj).val())&&jQuery(obj).val().length>0){
appendWarning(obj, "mobile");
jQuery(obj).val('');
obj.focus();
return;
}
}else if(type=="phobile"){ //同时满足座机和手机
//var filter = /^(?:13\d|15\d{1}|17\d{1}|18\d{1})-?\d{5}(\d{3}|\*{3})$/;
var filter = /^\d{11}$/;
var filter2 =/^\d{7,8}$/;
var filter3=/^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/;
if((!filter.test(jQuery(obj).val())&&jQuery(obj).val().length>0&&!filter2.test(jQuery(obj).val()))&&(!filter3.test(jQuery(obj).val())&&jQuery(obj).val().length>0)){
appendWarning(obj, "phobile");
jQuery(obj).val('');
obj.focus();
return;
}
}else if(type == "date"){ //日期
//YYYY/MM/DD YYYY-MM-DD
var filter=/((^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(10|12|0?[13578])([-\/\._])(3[01]|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(11|0?[469])([-\/\._])(30|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(0?2)([-\/\._])(2[0-8]|1[0-9]|0?[1-9])$)|(^([2468][048]00)([-\/\._])(0?2)([-\/\._])(29)$)|(^([3579][26]00)([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][0][48])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][0][48])([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][2468][048])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][2468][048])([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][13579][26])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][13579][26])([-\/\._])(0?2)([-\/\._])(29)$))/;
if(!filter.test(jQuery(obj).val())&&jQuery(obj).val().length>0){
appendWarning(obj, "date");
jQuery(obj).val('');
obj.focus();
return;
}
}else if(type == "identity"){ //身份证验证
if(!validId(obj)){
appendWarning(obj, "identity");
jQuery(obj).val('');
obj.focus();
return;
}
}else if(type == "number"){ //验证纯数字格式
var zmnumReg=/^[0-9]*$/;
if(!zmnumReg.test(jQuery(obj).val())&&jQuery(obj).val().length>0){
appendWarning(obj, "number");
jQuery(obj).val('');
obj.focus();
return;
}
}else if(type.indexOf("float_")>-1){
var _ns=type.split("_");
var _n=_ns[1];
// var filter0="/^[0-9]+\.[0-9]{_n}$/";
var filter0=/^\d+$/;
var filter1=/^\d+(\.\d{1})+$/;
var filter2=/^\d+(\.\d{2})+$/;
var filter3=/^\d+(\.\d{3})+$/;
var filtermax2=/^(([0-9]+)|([0-9]+\.[0-9]{1,2}))$/;
//最多4位小数
var filtermax4=/^(([0-9]+)|([0-9]+\.[0-9]{1,4}))$/;
// var filter=eval(filter0.replace("_n",_n));
if(_n==0){
if(!filter0.test(jQuery(obj).val())){
appendWarning(obj, "float_0");
jQuery(obj).val('0');
obj.focus();
return;
}
}else if(_n==1){
if(!filter1.test(jQuery(obj).val())){
appendWarning(obj, "float_1");
jQuery(obj).val('0.0');
obj.focus();
return;
}
}else if(_n==2){
if(!filter2.test(jQuery(obj).val())){
appendWarning(obj, "float_2");
jQuery(obj).val('0.00');
obj.focus();
return;
}
}else if(_n==3){
if(!filter3.test(jQuery(obj).val())){
appendWarning(obj, "float_3");
jQuery(obj).val('0.000');
obj.focus();
return;
}
}else if(_n=="max2"){
if(!filtermax2.test(jQuery(obj).val())){
appendWarning(obj, "float_max2");
jQuery(obj).val('0.00');
obj.focus();
return;
}
}else if(_n=="max4"){
if(!filtermax4.test(jQuery(obj).val())){
appendWarning(obj, "float_max4");
jQuery(obj).val('0.0000');
obj.focus();
return;
}
}
}
}
function getMeg(type){
var msg = "";num = 0;
for(var j=0;j