`
sgwood
  • 浏览: 121264 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

javaScript通用数据类型校验

阅读更多

/**
* 取得字符串的字节长度
*/


代码
 
function strlen(str)
{
 var i;
 var len;
 
 len = 0;
 for (i=0;i<str.length;i++)
 {
  if (str.charCodeAt(i)>255) len+=2; else len++;
 }
 return len;
}
 

/*
* 判断是否为数字,是则返回true,否则返回false
*/


代码
 
function f_check_number(obj)
{    
 if (/^d+$/.test(obj.value))
 {
    return true;
 }
 else
 {
    f_alert(obj,"请输入数字");
    return false;
 }
}
 

/*
* 判断是否为自然数,是则返回true,否则返回false
*/


代码
 
function f_check_naturalnumber(obj)
{    
 var s = obj.value;
 if (/^[0-9]+$/.test( s ) && (s > 0))
 {
    return true;
 }
 else
 {
  f_alert(obj,"请输入自然数");
     return false;
 }
}
 

/*
* 判断是否为整数,是则返回true,否则返回false
*/


代码
 
function f_check_integer(obj)
{    
 if (/^(+|-)?d+$/.test( obj.value ))
 {
    return true;
 }
 else
 {
  f_alert(obj,"请输入整数");
     return false;
 }
}
 

/*
* 判断是否为实数,是则返回true,否则返回false
*/


代码
 
function f_check_float(obj)
{    
 if (/^(+|-)?d+($|.d+$)/.test( obj.value ))
 {
    return true;
 }
 else
 {
  f_alert(obj,"请输入实数");
    return false;
 }
}
 

/*
* 校验数字的长度和精度
*/


代码
 
function f_check_double(obj){
 var numReg;
 var value = obj.value;
 var strValueTemp, strInt, strDec; 
 var dtype = obj.eos_datatype;
 var pos_dtype = dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")")).split(",");
 var len = pos_dtype[0], prec = pos_dtype[1];
 try
 {  
  numReg =/[-]/;
  strValueTemp = value.replace(numReg, "");
  numReg =/[+]/;
  strValueTemp = strValueTemp.replace(numReg, "");
  //整数
  if(prec==0){
   numReg =/[.]/;
   if(numReg.test(value) == true){
    f_alert(obj, "输入必须为整数类型");
    return false; 
   }   
  }  
  if(strValueTemp.indexOf(".") < 0 ){
   if(strValueTemp.length >( len - prec)){
    f_alert(obj, "整数位不能超过"+ (len - prec) +"位");
    return false;
   }  
  }else{
   strInt = strValueTemp.substr( 0, strValueTemp.indexOf(".") );  
   if(strInt.length >( len - prec)){
    f_alert(obj, "整数位不能超过"+ (len - prec) +"位");
    return false;
   }
   strDec = strValueTemp.substr( (strValueTemp.indexOf(".")+1), strValueTemp.length ); 
   if(strDec.length > prec){
    f_alert(obj, "小数位不能超过"+  prec +"位");
    return false;
   }  
  }  
  return true;
 }catch(e){
  alert("in f_check_double = " + e);
  return false;
 } 
}
 

/*
* 校验数字的最小最大值
* 返回bool
*/


代码
 
function f_check_interval(obj)
{
 var value = parseFloat(obj.value);

 var dtype = obj.eos_datatype;
 var pos_dtype = dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")")).split(",");
 
 var minLimit = pos_dtype[0];
 var maxLimit = pos_dtype[1];
 var minVal = parseFloat(pos_dtype[0]);
 var maxVal = parseFloat(pos_dtype[1]);
 
 if(isNaN(value))
 {
  f_alert(obj, "值必须为数字");
  return false;
 }
 if((isNaN(minVal) && (minLimit != "-")) || (isNaN(maxVal) && (maxLimit != "+")))
 {
  f_alert(obj, "边界值必须为数字或-、+");
  return false;
 }

 if(minLimit == "-" && !isNaN(maxVal))
 {
  if(value > maxVal)
  {
   f_alert(obj, "值不能超过" + maxVal);
   return false;
  }
 }
 
 if(!isNaN(minVal) && maxLimit == "+")
 {  
  if(value < minVal)
  {
   f_alert(obj, "值不能小于" + minVal);
   return false;
  }
 }
 
 if(!isNaN(minVal) && !isNaN(maxVal))
 {
  if(minVal > maxVal)
  {
   f_alert(obj, "起始值" + minVal + "不能大于终止值" + maxVal);
  }else
  {
   if(!(value <= maxVal && value >= minVal))
   {
    f_alert(obj, "值应该在" + minVal + "和" + maxVal + "之间");
    return false;
   }
  }
 }
 return true;
}
 

/*
用途:检查输入字符串是否只由汉字组成
如果通过验证返回true,否则返回false
*/


代码
 
function f_check_zh(obj){
 if (/^[u4e00-u9fa5]+$/.test(obj.value)) {
   return true;
 }
 f_alert(obj,"请输入汉字");
 return false;
}
 

/*
* 判断是否为小写英文字母,是则返回true,否则返回false
*/


代码
 
function f_check_lowercase(obj)
{    
 if (/^[a-z]+$/.test( obj.value ))
 {
    return true;
 }
 f_alert(obj,"请输入小写英文字母");
    return false;
}
 

/*
* 判断是否为大写英文字母,是则返回true,否则返回false
*/


代码
 
function f_check_uppercase(obj)
{    
 if (/^[A-Z]+$/.test( obj.value ))
 {
    return true;
 }
 f_alert(obj,"请输入大写英文字母");
 return false;
}
 

/*
* 判断是否为英文字母,是则返回true,否则返回false
*/


代码
 
function f_check_letter(obj)
{    
 if (/^[A-Za-z]+$/.test( obj.value ))
 {
    return true;
 }
 f_alert(obj,"请输入英文字母");
 return false;
}
 

/*
用途:检查输入字符串是否只由汉字、字母、数字组成
输入:
value:字符串
返回:
如果通过验证返回true,否则返回false
*/


代码
 
function f_check_ZhOrNumOrLett(obj){    //判断是否是汉字、字母、数字组成
 var regu = "^[0-9a-zA-Zu4e00-u9fa5]+$";  
 var re = new RegExp(regu);
 if (re.test( obj.value )) {
   return true;
 }
 f_alert(obj,"请输入汉字、字母或数字");
 return false;
}
 

/*
用途:校验ip地址的格式
输入:strIP:ip地址
返回:如果通过验证返回true,否则返回false;
*/


代码
 
function f_check_IP(obj)
{
    var re=/^(d+).(d+).(d+).(d+)$/; //匹配IP地址的正则表达式
 if(re.test( obj.value ))
 {
  if( RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256) return true;
 }
 f_alert(obj,"请输入合法的计算机IP地址");
 return false;
}
 

/*
用途:检查输入对象的值是否符合端口号格式
输入:str 输入的字符串
返回:如果通过验证返回true,否则返回false
*/


代码
 
function f_check_port(obj)
{
 if(!f_check_number(obj))
  return false;
 if(obj.value < 65536)
  return true;
 f_alert(obj,"请输入合法的计算机IP地址端口号");
 return false;
}
 

/*
用途:检查输入对象的值是否符合网址格式
输入:str 输入的字符串
返回:如果通过验证返回true,否则返回false
*/


代码
 
function f_check_URL(obj){ 
 var myReg = /^((http:[/][/])?w+([.]w+|[/]w*)*)?$/;
 if(myReg.test( obj.value )) return true;
 f_alert(obj,"请输入合法的网页地址");
 return false;
}
 

/*
用途:检查输入对象的值是否符合E-Mail格式
输入:str 输入的字符串
返回:如果通过验证返回true,否则返回false
*/


代码
 
function f_check_email(obj){ 
 var myReg = /^([-_A-Za-z0-9.]+)@([_A-Za-z0-9]+.)+[A-Za-z0-9]{2,3}$/;
 if(myReg.test( obj.value )) return true;
 f_alert(obj,"请输入合法的电子邮件地址");
 return false;
}
 

/*
要求:一、移动电话号码为11或12位,如果为12位,那么第一位为0
二、11位移动电话号码的第一位和第二位为"13"
三、12位移动电话号码的第二位和第三位为"13"
用途:检查输入手机号码是否正确
输入:
s:字符串
返回:
如果通过验证返回true,否则返回false
*/


代码
 
function f_check_mobile(obj){  
 var regu =/(^[1][3][0-9]{9}$)|(^0[1][3][0-9]{9}$)/;
 var re = new RegExp(regu);
 if (re.test( obj.value )) {
   return true;
 }
 f_alert(obj,"请输入正确的手机号码");
 return false; 
}

/*
要求:一、电话号码由数字、"("、")"和"-"构成
二、电话号码为3到8位
三、如果电话号码中包含有区号,那么区号为三位或四位
四、区号用"("、")"或"-"和其他部分隔开
用途:检查输入的电话号码格式是否正确
输入:
strPhone:字符串
返回:
如果通过验证返回true,否则返回false
*/

代码
 
function f_check_phone(obj)
{
 var regu =/(^([0][1-9]{2,3}[-])?d{3,8}(-d{1,6})?$)|(^([0][1-9]{2,3})d{3,8}((d{1,6}))?$)|(^d{3,8}$)/;
 var re = new RegExp(regu);
 if (re.test( obj.value )) {
   return true;
 }
 f_alert(obj,"请输入正确的电话号码");
 return false;
}
 

/* 判断是否为邮政编码 */


代码
 
function f_check_zipcode(obj)
{
 if(!f_check_number(obj))
  return false;
 if(obj.value.length!=6)
 {
  f_alert(obj,"邮政编码长度必须是6位");
  return false;
 }
 return true;
}
 

/*
用户ID,可以为数字、字母、下划线的组合,
第一个字符不能为数字,且总长度不能超过20。
*/


代码
 
function f_check_userID(obj)
{
 var userID = obj.value;
 if(userID.length > 20)
 {
  f_alert(obj,"ID长度不能大于20");
  return false;
 }

 if(!isNaN(userID.charAt(0)))
 {
  f_alert(obj,"ID第一个字符不能为数字");
  return false;
 }
 if(!/^w{1,20}$/.test(userID))
 {
  f_alert(obj,"ID只能由数字、字母、下划线组合而成");
  return false;
 }
 return true;
}
 

/*
功能:验证身份证号码是否有效
提示信息:未输入或输入身份证号不正确!
使用:f_check_IDno(obj)
返回:bool
*/


代码
 
function f_check_IDno(obj)
{
 var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"};
 
 var iSum = 0;
 var info = "";
 var strIDno = obj.value;
 var idCardLength = strIDno.length; 
 if(!/^d{17}(d|x)$/i.test(strIDno)&&!/^d{15}$/i.test(strIDno))
 {
  f_alert(obj,"非法身份证号");
  return false;
 }
 
 //在后面的运算中x相当于数字10,所以转换成a
 strIDno = strIDno.replace(/x$/i,"a");

 if(aCity[parseInt(strIDno.substr(0,2))]==null)
 {
  f_alert(obj,"非法地区");
  return false;
 }
 
 if (idCardLength==18)
 {
  sBirthday=strIDno.substr(6,4)+"-"+Number(strIDno.substr(10,2))+"-"+Number(strIDno.substr(12,2));
  var d = new Date(sBirthday.replace(/-/g,"/"))
  if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))
  {  
   f_alert(obj,"非法生日");
   return false;
  }

  for(var i = 17;i>=0;i --)
   iSum += (Math.pow(2,i) % 11) * parseInt(strIDno.charAt(17 - i),11);

  if(iSum%11!=1)
  {
   f_alert(obj,"非法身份证号");
   return false;
  }
 }
 else if (idCardLength==15)
 {
  sBirthday = "19" + strIDno.substr(6,2) + "-" + Number(strIDno.substr(8,2)) + "-" + Number(strIDno.substr(10,2));
  var d = new Date(sBirthday.replace(/-/g,"/"))
  var dd = d.getFullYear().toString() + "-" + (d.getMonth()+1) + "-" + d.getDate();  
  if(sBirthday != dd)
  {
   f_alert(obj,"非法生日");
   return false;
  }
 }
 return true;
}
 

/*
* 判断字符串是否符合指定的正则表达式
*/


代码
 
function f_check_formatStr(obj)
{
 var str = obj.value;
 var dtype = obj.eos_datatype;
 var regu = dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")")); //指定的正则表达式
 var re = new RegExp(regu);
 if(re.test(str))
  return true;
 f_alert(obj , "不符合指定的正则表达式要求");
 return false; 
}
 

/*
功能:判断是否为日期(格式:yyyy年MM月dd日,yyyy-MM-dd,yyyy/MM/dd,yyyyMMdd)
提示信息:未输入或输入的日期格式错误!
使用:f_check_date(obj)
返回:bool
*/


代码
 
function f_check_date(obj)
{
 var date = Trim(obj.value);
 var dtype = obj.eos_datatype;
 var format = dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")")); //日期格式
 var year,month,day,datePat,matchArray;

 if(/^(y{4})(-|/)(M{1,2})2(d{1,2})$/.test(format))
  datePat = /^(d{4})(-|/)(d{1,2})2(d{1,2})$/;
 else if(/^(y{4})(年)(M{1,2})(月)(d{1,2})(日)$/.test(format))
  datePat = /^(d{4})年(d{1,2})月(d{1,2})日$/;
 else if(format=="yyyyMMdd")
  datePat = /^(d{4})(d{2})(d{2})$/;
 else
 {
  f_alert(obj,"日期格式不对");
  return false;
 }
 matchArray = date.match(datePat);
 if(matchArray == null)
 {
  f_alert(obj,"日期长度不对,或日期中有非数字符号");
  return false;
 }
 if(/^(y{4})(-|/)(M{1,2})2(d{1,2})$/.test(format))
 {
  year = matchArray[1];
  month = matchArray[3];
  day = matchArray[4];
 } else
 {
  year = matchArray[1];
  month = matchArray[2];
  day = matchArray[3];
 }
 if (month < 1 || month > 12)
 {    
  f_alert(obj,"月份应该为1到12的整数");
  return false;
 }
 if (day < 1 || day > 31)
 {
  f_alert(obj,"每个月的天数应该为1到31的整数");
  return false;
 }    
 if ((month==4 || month==6 || month==9 || month==11) && day==31)
 {
  f_alert(obj,"该月不存在31号");
  return false;
 }    
 if (month==2)
 {
  var isleap=(year % 4==0 && (year % 100 !=0 || year % 400==0));
  if (day>29)
  {    
   f_alert(obj,"2月最多有29天");
   return false;
  }
  if ((day==29) && (!isleap))
  {    
   f_alert(obj,"闰年2月才有29天");
   return false;
  }
 }
 return true;
}
 

/*
功能:校验的格式为yyyy年MM月dd日HH时mm分ss秒,yyyy-MM-dd HH:mm:ss,yyyy/MM/dd HH:mm:ss,yyyyMMddHHmmss
提示信息:未输入或输入的时间格式错误
使用:f_check_time(obj)
返回:bool
*/


代码
 
function f_check_time(obj)
{
 var time = Trim(obj.value);
 var dtype = obj.eos_datatype;
 var format = dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")")); //日期格式
 var datePat,matchArray,year,month,day,hour,minute,second;

 if(/^(y{4})(-|/)(M{1,2})2(d{1,2}) (HH:mm:ss)$/.test(format))
  datePat = /^(d{4})(-|/)(d{1,2})2(d{1,2}) (d{1,2}):(d{1,2}):(d{1,2})$/;
 else if(/^(y{4})(年)(M{1,2})(月)(d{1,2})(日)(HH时mm分ss秒)$/.test(format))
  datePat = /^(d{4})年(d{1,2})月(d{1,2})日(d{1,2})时(d{1,2})分(d{1,2})秒$/;
 else if(format == "yyyyMMddHHmmss")
  datePat = /^(d{4})(d{2})(d{2})(d{2})(d{2})(d{2})$/;
 else
 {
  f_alert(obj,"日期格式不对");
  return false;
 }
 matchArray = time.match(datePat);
 if(matchArray == null)
 {
  f_alert(obj,"日期长度不对,或日期中有非数字符号");
  return false;
 }
 if(/^(y{4})(-|/)(M{1,2})2(d{1,2}) (HH:mm:ss)$/.test(format))
 {
  year = matchArray[1];
  month = matchArray[3];
  day = matchArray[4];
  hour = matchArray[5];
  minute = matchArray[6];
  second = matchArray[7];
 } else
 {
  year = matchArray[1];
  month = matchArray[2];
  day = matchArray[3];
  hour = matchArray[4];
  minute = matchArray[5];
  second = matchArray[6];
 }
 if (month < 1 || month > 12)
 {    
  f_alert(obj,"月份应该为1到12的整数");
  return false;
 }
 if (day < 1 || day > 31)
 {   
  f_alert(obj,"每个月的天数应该为1到31的整数");
  return false;
 }    
 if ((month==4 || month==6 || month==9 || month==11) && day==31)
 {   
  f_alert(obj,"该月不存在31号");
  return false;
 }    
 if (month==2)
 {
  var isleap=(year % 4==0 && (year % 100 !=0 || year % 400==0));
  if (day>29)
  {    
   f_alert(obj,"2月最多有29天");
   return false;
  }
  if ((day==29) && (!isleap))
  {    
   f_alert(obj,"闰年2月才有29天");
   return false;
  }
 }
 if(hour<0 || hour>23)
 {
  f_alert(obj,"小时应该是0到23的整数");
  return false;
 }
 if(minute<0 || minute>59)
 {
  f_alert(obj,"分应该是0到59的整数");
  return false;
 }
 if(second<0 || second>59)
 {
  f_alert(obj,"秒应该是0到59的整数");
  return false;
 }
    return true;
}

/*判断当前对象是否可见*/


代码
 
function isVisible(obj){
 var visAtt,disAtt;
 try{
  disAtt=obj.style.display;
  visAtt=obj.style.visibility;
 }catch(e){}
 if(disAtt=="none" || visAtt=="hidden")
  return false;
 return true;
}
 

/*判断当前对象及其父对象是否可见*/


代码
 
function checkPrVis(obj){
 var pr=obj.parentNode;
 do{
  if(pr == undefined || pr == "undefined") return true;
  else{
   if(!isVisible(pr)) return false;
  }
 }while(pr=pr.parentNode);
 return true;
}
 

/* 弹出警告对话框,用户点确定后将光标置于出错文本框上, 并且将原来输入内容选中。*/


代码
 
function f_alert(obj,alertInfo)
{
 var caption = obj.getAttribute("eos_displayname");
 if(caption == null)
  caption = "";
 alert(caption + ":" + alertInfo + "!"); 
 obj.select();
 if(isVisible(obj) && checkPrVis(obj))
  obj.focus();
}
 

/**
* 检测字符串是否为空
*/


代码
 
function isnull(str)
{
    var i;
    if(str.length == 0)
  return true;
    for (i=0;i<str.length;i++)
    {
        if (str.charAt(i)!=' ')
   return false;
    }
    return true;
}
 

/**
* 检测指定文本框输入是否合法。
* 如果用户输入的内容有错,则弹出提示对话框,
* 同时将焦点置于该文本框上,并且该文本框前面
* 会出现一个警告图标(输入正确后会自动去掉)。
*/


代码
 
function checkInput(object)
{
 var image;
 var i;
 var length;

 if(object.eos_maxsize + "" != "undefined") length = object.eos_maxsize;
 else length = 0;

 if (object.eos_isnull=="true" && isnull(object.value)) return true;

 /* 长度校验 */
 if(length != 0 && strlen(object.value) > parseInt(length)) {
   f_alert(object, "超出最大长度" + length);
   return false;
 }
 /* 数据类型校验 */
 else {
  if (object.eos_datatype + "" != "undefined")
  {  

   var dtype = object.eos_datatype;
   var objName = object.name;
   //如果类型名后面带有括号,则视括号前面的字符串为校验类型
   if(dtype.indexOf("(") != -1)
    dtype = dtype.substring(0,dtype.indexOf("("));
   //根据页面元素的校验类型进行校验
   try{
    if(eval("f_check_" + dtype + "(object)") != true)
     return false;
   }catch(e){return true;}
   /* 如果form中存在name前半部分相同,并且同时存在以"min"和"max"结尾的表单域,
    那么视为按区间查询。即"min"结尾的表单域的值要小于等于"max"结尾的表单域的值。 */
   if(objName.substring((objName.length-3),objName.length)=="min")
   {
    var objMaxName = objName.substring(0, (objName.length-3)) + "max";
    if(document.getElementById(objMaxName) != undefined && document.getElementById(objMaxName) != "undefined" )
    {
     if(checkIntervalObjs(object, document.getElementById(objMaxName)) != true)
      return false;     
    }
   }   
  }
 }
 return true;
}
 

/* 检测表单中所有输入项的正确性,一般用于表单的onsubmit事件 */


代码
 
function checkForm(myform)
{
 var i;
 for (i=0;i<myform.elements.length;i++)
 {
     /* 非自定义属性的元素不予理睬 */  
  if (myform.elements[i].eos_displayname + "" == "undefined") continue;
  /* 非空校验 */
  if (myform.elements[i].eos_isnull=="false" && isnull(myform.elements[i].value)){
   f_alert(myform.elements[i],"不能为空");
   return false;
  }  
  /* 数据类型校验 */
  if (checkInput(myform.elements[i])==false)
   return false;    
 }
 return true;
}
 

/**
* 校验两个表单域数据的大小,目前只允许比较日期和数字。
* @param obj1 小值表单域
* @param obj2 大值表单域
*/


代码
 
function checkIntervalObjs(obj1 , obj2)

 var caption1 = obj1.getAttribute("eos_displayname");
 var caption2 = obj2.getAttribute("eos_displayname");
 var val1 = parseFloat(obj1.value);
 var val2 = parseFloat(obj2.value);
 // 非自定义属性的元素不予理睬
 if (obj1.eos_displayname + "" == "undefined" || obj2.eos_displayname + "" == "undefined") {
  return false;
 }
 // 日期类型的比较
 if(f_check_date(obj1) == true && f_check_date(obj2) == true){
  var dtype = obj1.eos_datatype;
  var format = dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")")); //日期格式
  val1 = getDateByFormat(obj1.value, format);
  dtype = obj2.eos_datatype;
  format = dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")")); //日期格式
  val2 = getDateByFormat(obj2.value, format);
  if(val1 > val2){
  obj2.select();
  if(isVisible(obj) && checkPrVis(obj))
   obj2.focus();
  alert(caption1 + "的起始日期不能大于其终止日期!");
  return false;
  }
 }
 // 数字类型的比较
 if((isNaN(val1) && !isnull(val1)) || (isNaN(val2) && !isnull(val2))){
  alert(caption1 + "的值不全为数字则不能比较!");
  return false;
 }
 if(val1 > val2){
  obj2.select();
  if(isVisible(obj) && checkPrVis(obj))
   obj2.focus();
  alert(caption1 + "的起始值不能大于其终止值!");
  return false;
 }
 return true;
}
 

/*根据日期格式,将字符串转换成Date对象。
格式:yyyy-年,MM-月,dd-日,HH-时,mm-分,ss-秒。
(格式必须写全,例如:yy-M-d,是不允许的,否则返回null;格式与实际数据不符也返回null。)
默认格式:yyyy-MM-dd HH:mm:ss,yyyy-MM-dd。*/


代码
 
function getDateByFormat(str){
 var dateReg,format;
 var y,M,d,H,m,s,yi,Mi,di,Hi,mi,si;
 if((arguments[1] + "") == "undefined") format = "yyyy-MM-dd HH:mm:ss";
 else format = arguments[1];
 yi = format.indexOf("yyyy");
 Mi = format.indexOf("MM");
 di = format.indexOf("dd");
 Hi = format.indexOf("HH");
 mi = format.indexOf("mm");
 si = format.indexOf("ss");
 if(yi == -1 || Mi == -1 || di == -1) return null;
 else{
  y = parseInt(str.substring(yi, yi+4));
  M = parseInt(str.substring(Mi, Mi+2));
  d = parseInt(str.substring(di, di+2));
 }
 if(isNaN(y) || isNaN(M) || isNaN(d)) return null;
 if(Hi == -1 || mi == -1 || si == -1) return new Date(y, M-1, d);
 else{
  H = str.substring(Hi, Hi+4);
  m = str.substring(mi, mi+2);
  s = str.substring(si, si+2);
 }
 if(isNaN(parseInt(y)) || isNaN(parseInt(M)) || isNaN(parseInt(d))) return new Date(y, M-1, d);
 else return new Date(y, M-1, d,H, m, s);
}
 

/*LTrim(string):去除左边的空格*/


代码
 
function LTrim(str){
    var whitespace = new String(" ");
    var s = new String(str);  

    if (whitespace.indexOf(s.charAt(0)) != -1){
        var j=0, i = s.length;
        while (j < i && whitespace.indexOf(s.charAt(j)) != -1){
            j++;
        }
        s = s.substring(j, i);
    }
    return s;
}
 

/*RTrim(string):去除右边的空格*/


代码
 
function RTrim(str){
    var whitespace = new String(" ");
    var s = new String(str);
 
    if (whitespace.indexOf(s.charAt(s.length-1)) != -1){
        var i = s.length - 1;
        while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1){
            i--;
        }
        s = s.substring(0, i+1);
    }
    return s;
}
 

/*Trim(string):去除字符串两边的空格*/


代码
 
function Trim(str){
    return RTrim(LTrim(str));
}

分享到:
评论

相关推荐

    JS通用表单验证函数1

    另一个文件"javaScript通用数据类型校验 - JavaScript - web - JavaEye论坛.files"可能是与帖子相关的附件或资源,可能包含实际的JavaScript代码片段或者验证库。 在实际应用中,使用这些通用验证函数可以极大地...

    Web通用的表单校验JS

    "Web通用的表单校验JS"是指一个独立的JS库或函数集,它可以用于各种类型的Web表单,无需针对每个表单编写特定的校验规则。这种通用性使得开发者能够快速集成到现有项目中,减少了重复工作。 LiveValidation是一个...

    javascript常用校验脚本

    这些验证脚本是JavaScript中进行数据校验的基本工具,它们可以根据实际需求进行组合和扩展,以满足更复杂的应用场景。例如,你可以结合这些函数创建一个自定义的表单验证器,对用户输入进行全方位的检查。同时,随着...

    Struts2的输入校验

    它内置了多种校验器,能够处理大部分常见的校验需求,如必填、长度限制、数据类型检查等。此外,对于更复杂的校验规则,Struts2允许开发者通过覆盖Action类中的`validate()`方法或创建特定的`validateXxx()`方法来...

    Ajax通用的数据验证程序

    该通用数据验证程序基于JavaScript实现,JavaScript是一种轻量级的解释型编程语言,广泛用于网页和应用程序,尤其是前端交互和数据验证。它允许我们在用户提交数据之前在浏览器端检查输入的有效性,如检查邮箱格式、...

    Mtils是一套前端代码集合提供常用的数据校验数据加密扩展函数便捷函数

    通过这些扩展,开发者可以更加灵活地处理各种数据类型。 四、便捷函数 便捷函数是 Mtils 的一大亮点,它们通常是解决特定场景下频繁出现的问题的快捷方式。例如,Mtils 提供了 AJAX 请求的封装,简化了与服务器...

    JS校验脚本

    为了实现这些校验,JS提供了多种内置函数和方法,如`isNaN()`用于检测非数字值,`typeof`用于判断数据类型,以及正则表达式(RegExp对象)用于匹配复杂的数据格式。 例如,使用正则表达式进行邮箱验证: ```...

    JavaScript

    2. **变量与数据类型**:JavaScript支持多种数据类型,包括但不限于: - 基本数据类型:如数字(Number)、字符串(String)、布尔值(Boolean)、null、undefined。 - 复合数据类型:如数组(Array)、对象(Object)。 3....

    纯javascript+xml配置验证

    在实际应用中,开发者会创建XML文件来定义验证规则,这些规则可能包括数据类型、长度限制、格式约束等。然后,JavaScript代码会解析XML文件,并根据其中的规则对用户输入进行校验。例如,XML配置文件可能定义了一个...

    疯狂HTML 5+CSS 3+JavaScript讲义(第2版)+源代码

    13.2 数据类型和变量 356 13.3 基本数据类型 364 13.4 复合类型 376 13.5 运算符 381 13.6 语句 391 13.7 流程控制 395 13.8 函数 403 13.9 函数的参数处理 425 13.10 面向对象 429 13.11 创建对象 437 ...

    通用JS表单验证

    将对表单中的所有以下类型的域依次验证,所有验证是去除了前导和后缀空格的,要注意是区分大小写的。 2、空值验证 表单中任意域加上emptyInfo属性将对此域是否为空进行验证(可以和最大长度验证\一般验证方式同时...

    统一校验的东东

    在这里,“统一校验”可能是指创建一个通用的验证框架,可以应用于多种场景,减少重复代码,并提供一致的错误处理机制。 在给定的描述中,虽然没有直接提供详细信息,但从“博文链接:...

    精心整理的几个ASP.NET通用类

    在这个精心整理的压缩包中,包含了四个核心的ASP.NET通用类,分别用于数据库操作、字符串操作、文件操作以及JavaScript操作。这些类为开发者提供了方便快捷的工具,使得在ASP.NET项目中的常见任务能够更加高效地执行...

    JavaScript王者归来part.1 总数2

     5.1 基本数据类型   5.2 数组和对象   5.2.1 数组   5.2.2 对象--一个构造函数的例子   5.3 函数类型--一个函数和闭包的例子   5.4 神奇的null和undefined   5.4.1 null   5.4.2 undefined--...

    JavaScript 60道面试题及答案.docx

    "JavaScript 60道面试题及答案" JavaScript是前端开发中不可或缺的一部分,本文将从多个方面对JavaScript进行了详细的介绍,涵盖了HTTP协议状态码、...通过使用validate插件,可以轻松地实现各种类型的数据校验。

    js原型通用验证框架

    JavaScript原型通用验证框架是一种基于JavaScript设计模式的高效验证工具,其核心原理是利用JavaScript的原型(prototype)特性来实现对象的扩展与复用,从而达到代码的模块化和可维护性。这一框架广泛应用于Web开发...

    前台和后台查找页面上所有控件的通用方法

    - 适用于实时响应用户操作的场景,如表单验证、数据校验等。 - 能够立即反馈用户的操作结果,提高用户体验。 - **后台C#**: - 适用于需要服务器处理的数据逻辑,如数据持久化、业务规则处理等。 - 在服务器端...

    通用的JS表单验证

    "通用的JS表单验证"这个主题聚焦于如何利用JavaScript来确保用户在网页表单中输入的数据符合预设的规则,从而提高数据质量和用户体验。下面我们将深入探讨这个话题。 首先,表单验证是网页开发中的关键部分,它能...

    其他类别网页中文本框自校验的标签-input

    `&lt;input&gt;`标签是HTML中用于创建表单元素的通用标签,可以创建多种类型的输入控件,如文本框、密码输入框、单选按钮等。对于文本框,我们可以设置`type`属性来定义其类型,如`type="text"`表示普通文本输入。此外,...

Global site tag (gtag.js) - Google Analytics