`

javaScript通用数据类型校验

    博客分类:
  • Web
阅读更多

 

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

代码
  1. function strlen(str)   
  2. {   
  3.     var i;   
  4.     var len;   
  5.        
  6.     len = 0;   
  7.     for (i=0;i<str.length;i++)   
  8.     {   
  9.         if (str.charCodeAt(i)>255) len+=2else len++;   
  10.     }   
  11.     return len;   
  12. }   
  13.    
<script>render_code();</script>
/*
* 判断是否为数字,是则返回true,否则返回false
*/
代码
  1. function f_check_number(obj)   
  2. {          
  3.     if (/^\d+$/.test(obj.value))   
  4.     {   
  5.        return true;   
  6.     }    
  7.     else    
  8.     {   
  9.        f_alert(obj,"请输入数字");   
  10.        return false;   
  11.     }   
  12. }   
  13.    
<script>render_code();</script>
/*
* 判断是否为自然数,是则返回true,否则返回false
*/
代码
  1. function f_check_naturalnumber(obj)   
  2. {          
  3.     var s = obj.value;   
  4.     if (/^[0-9]+$/.test( s ) && (s > 0))   
  5.     {   
  6.        return true;   
  7.     }    
  8.     else    
  9.     {   
  10.         f_alert(obj,"请输入自然数");   
  11.         return false;   
  12.     }   
  13. }   
  14.    
<script>render_code();</script>
/*
* 判断是否为整数,是则返回true,否则返回false
*/
代码
  1. function f_check_integer(obj)   
  2. {          
  3.     if (/^(\+|-)?\d+$/.test( obj.value ))    
  4.     {   
  5.        return true;   
  6.     }    
  7.     else    
  8.     {   
  9.         f_alert(obj,"请输入整数");   
  10.         return false;   
  11.     }   
  12. }   
  13.    
<script>render_code();</script>
/*
* 判断是否为实数,是则返回true,否则返回false
*/
代码
  1. function f_check_float(obj)   
  2. {          
  3.     if (/^(\+|-)?\d+($|\.\d+$)/.test( obj.value ))    
  4.     {   
  5.        return true;   
  6.     }    
  7.     else    
  8.     {   
  9.         f_alert(obj,"请输入实数");   
  10.        return false;   
  11.     }   
  12. }   
  13.    
<script>render_code();</script>
/*
* 校验数字的长度和精度
*/
代码
  1. function f_check_double(obj){   
  2.     var numReg;   
  3.     var value = obj.value;   
  4.     var strValueTemp, strInt, strDec;      
  5.     var dtype = obj.eos_datatype;   
  6.     var pos_dtype = dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")")).split(",");   
  7.     var len = pos_dtype[0], prec = pos_dtype[1];   
  8.     try  
  9.     {          
  10.         numReg =/[\-]/;   
  11.         strValueTemp = value.replace(numReg, "");   
  12.         numReg =/[\+]/;   
  13.         strValueTemp = strValueTemp.replace(numReg, "");   
  14.         //整数   
  15.         if(prec==0){   
  16.             numReg =/[\.]/;   
  17.             if(numReg.test(value) == true){   
  18.                 f_alert(obj, "输入必须为整数类型");   
  19.                 return false;      
  20.             }              
  21.         }          
  22.         if(strValueTemp.indexOf(".") < 0 ){   
  23.             if(strValueTemp.length >( len - prec)){   
  24.                 f_alert(obj, "整数位不能超过"+ (len - prec) +"位");   
  25.                 return false;   
  26.             }          
  27.         }else{   
  28.             strInt = strValueTemp.substr( 0, strValueTemp.indexOf(".") );          
  29.             if(strInt.length >( len - prec)){   
  30.                 f_alert(obj, "整数位不能超过"+ (len - prec) +"位");   
  31.                 return false;   
  32.             }   
  33.             strDec = strValueTemp.substr( (strValueTemp.indexOf(".")+1), strValueTemp.length );    
  34.             if(strDec.length > prec){   
  35.                 f_alert(obj, "小数位不能超过"+  prec +"位");   
  36.                 return false;   
  37.             }          
  38.         }          
  39.         return true;   
  40.     }catch(e){   
  41.         alert("in f_check_double = " + e);   
  42.         return false;   
  43.     }      
  44. }   
  45.    
<script>render_code();</script>
/*
* 校验数字的最小最大值
* 返回bool
*/
代码
  1. function f_check_interval(obj)   
  2. {   
  3.     var value = parseFloat(obj.value);   
  4.   
  5.     var dtype = obj.eos_datatype;   
  6.     var pos_dtype = dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")")).split(",");   
  7.        
  8.     var minLimit = pos_dtype[0];   
  9.     var maxLimit = pos_dtype[1];   
  10.     var minVal = parseFloat(pos_dtype[0]);   
  11.     var maxVal = parseFloat(pos_dtype[1]);    
  12.        
  13.     if(isNaN(value))   
  14.     {   
  15.         f_alert(obj, "值必须为数字");   
  16.         return false;   
  17.     }   
  18.     if((isNaN(minVal) && (minLimit != "-")) || (isNaN(maxVal) && (maxLimit != "+")))   
  19.     {   
  20.         f_alert(obj, "边界值必须为数字或-、+");   
  21.         return false;   
  22.     }   
  23.   
  24.     if(minLimit == "-" && !isNaN(maxVal))   
  25.     {   
  26.         if(value > maxVal)   
  27.         {   
  28.             f_alert(obj, "值不能超过" + maxVal);   
  29.             return false;   
  30.         }   
  31.     }   
  32.        
  33.     if(!isNaN(minVal) && maxLimit == "+")   
  34.     {          
  35.         if(value < minVal)   
  36.         {   
  37.             f_alert(obj, "值不能小于" + minVal);   
  38.             return false;   
  39.         }   
  40.     }   
  41.        
  42.     if(!isNaN(minVal) && !isNaN(maxVal))   
  43.     {   
  44.         if(minVal > maxVal)   
  45.         {   
  46.             f_alert(obj, "起始值" + minVal + "不能大于终止值" + maxVal);   
  47.         }else  
  48.         {   
  49.             if(!(value <= maxVal && value >= minVal))   
  50.             {   
  51.                 f_alert(obj, "值应该在" + minVal + "和" + maxVal + "之间");   
  52.                 return false;   
  53.             }   
  54.         }   
  55.     }   
  56.     return true;   
  57. }   
  58.    
<script>render_code();</script>
/*
用途:检查输入字符串是否只由汉字组成
如果通过验证返回true,否则返回false
*/
代码
  1. function f_check_zh(obj){   
  2.     if (/^[\u4e00-\u9fa5]+$/.test(obj.value)) {   
  3.       return true;   
  4.     }   
  5.     f_alert(obj,"请输入汉字");   
  6.     return false;   
  7. }   
  8.    
<script>render_code();</script>
/*
* 判断是否为小写英文字母,是则返回true,否则返回false
*/
代码
  1. function f_check_lowercase(obj)   
  2. {          
  3.     if (/^[a-z]+$/.test( obj.value ))    
  4.     {   
  5.        return true;   
  6.     }    
  7.     f_alert(obj,"请输入小写英文字母");   
  8.     return false;   
  9. }   
  10.    
<script>render_code();</script>
/*
* 判断是否为大写英文字母,是则返回true,否则返回false
*/
代码
  1. function f_check_uppercase(obj)   
  2. {          
  3.     if (/^[A-Z]+$/.test( obj.value ))    
  4.     {   
  5.        return true;   
  6.     }    
  7.     f_alert(obj,"请输入大写英文字母");   
  8.     return false;   
  9. }   
  10.    
<script>render_code();</script>
/*
* 判断是否为英文字母,是则返回true,否则返回false
*/
代码
  1. function f_check_letter(obj)   
  2. {          
  3.     if (/^[A-Za-z]+$/.test( obj.value ))    
  4.     {   
  5.        return true;   
  6.     }    
  7.     f_alert(obj,"请输入英文字母");   
  8.     return false;   
  9. }   
  10.    
<script>render_code();</script>
/*
用途:检查输入字符串是否只由汉字、字母、数字组成
输入:
value:字符串
返回:
如果通过验证返回true,否则返回false
*/
代码
  1. function f_check_ZhOrNumOrLett(obj){    //判断是否是汉字、字母、数字组成   
  2.     var regu = "^[0-9a-zA-Z\u4e00-\u9fa5]+$";      
  3.     var re = new RegExp(regu);   
  4.     if (re.test( obj.value )) {   
  5.       return true;   
  6.     }   
  7.     f_alert(obj,"请输入汉字、字母或数字");   
  8.     return false;   
  9. }   
  10.    
<script>render_code();</script>
/*
用途:校验ip地址的格式
输入:strIP:ip地址
返回:如果通过验证返回true,否则返回false;
*/
代码
  1. function f_check_IP(obj)    
  2. {    
  3.     var re=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/; //匹配IP地址的正则表达式   
  4.     if(re.test( obj.value ))   
  5.     {   
  6.         if( RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256return true;   
  7.     }   
  8.     f_alert(obj,"请输入合法的计算机IP地址");   
  9.     return false;    
  10. }   
  11.    
<script>render_code();</script>
/*
用途:检查输入对象的值是否符合端口号格式
输入:str 输入的字符串
返回:如果通过验证返回true,否则返回false
*/
代码
  1. function f_check_port(obj)   
  2. {   
  3.     if(!f_check_number(obj))   
  4.         return false;   
  5.     if(obj.value < 65536)   
  6.         return true;   
  7.     f_alert(obj,"请输入合法的计算机IP地址端口号");   
  8.     return false;    
  9. }   
  10.    
<script>render_code();</script>
/*
用途:检查输入对象的值是否符合网址格式
输入:str 输入的字符串
返回:如果通过验证返回true,否则返回false
*/
代码
  1. function f_check_URL(obj){     
  2.     var myReg = /^((http:[/][/])?\w+([.]\w+|[/]\w*)*)?$/;    
  3.     if(myReg.test( obj.value )) return true;    
  4.     f_alert(obj,"请输入合法的网页地址");   
  5.     return false;    
  6. }   
  7.    
<script>render_code();</script>
/*
用途:检查输入对象的值是否符合E-Mail格式
输入:str 输入的字符串
返回:如果通过验证返回true,否则返回false
*/
代码
  1. function f_check_email(obj){     
  2.     var myReg = /^([-_A-Za-z0-9\.]+)@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/;    
  3.     if(myReg.test( obj.value )) return true;    
  4.     f_alert(obj,"请输入合法的电子邮件地址");   
  5.     return false;    
  6. }   
  7.    
<script>render_code();</script>
/*
要求:一、移动电话号码为11或12位,如果为12位,那么第一位为0
二、11位移动电话号码的第一位和第二位为"13"
三、12位移动电话号码的第二位和第三位为"13"
用途:检查输入手机号码是否正确
输入:
s:字符串
返回:
如果通过验证返回true,否则返回false
*/
代码
  1. function f_check_mobile(obj){      
  2.     var regu =/(^[1][3][0-9]{9}$)|(^0[1][3][0-9]{9}$)/;   
  3.     var re = new RegExp(regu);   
  4.     if (re.test( obj.value )) {   
  5.       return true;   
  6.     }   
  7.     f_alert(obj,"请输入正确的手机号码");   
  8.     return false;      
  9. }   
  10.    
<script>render_code();</script>
/*
要求:一、电话号码由数字、"("、")"和"-"构成
二、电话号码为3到8位
三、如果电话号码中包含有区号,那么区号为三位或四位
四、区号用"("、")"或"-"和其他部分隔开
用途:检查输入的电话号码格式是否正确
输入:
strPhone:字符串
返回:
如果通过验证返回true,否则返回false
*/
代码
  1. function f_check_phone(obj)    
  2. {   
  3.     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}$)/;    
  4.     var re = new RegExp(regu);   
  5.     if (re.test( obj.value )) {   
  6.       return true;   
  7.     }   
  8.     f_alert(obj,"请输入正确的电话号码");   
  9.     return false;   
  10. }   
  11.    
<script>render_code();</script>
/* 判断是否为邮政编码 */
代码
  1. function f_check_zipcode(obj)   
  2. {   
  3.     if(!f_check_number(obj))   
  4.         return false;   
  5.     if(obj.value.length!=6)   
  6.     {   
  7.         f_alert(obj,"邮政编码长度必须是6位");   
  8.         return false;   
  9.     }   
  10.     return true;   
  11. }   
  12.    
<script>render_code();</script>
/*
用户ID,可以为数字、字母、下划线的组合,
第一个字符不能为数字,且总长度不能超过20。
*/
代码
  1. function f_check_userID(obj)   
  2. {   
  3.     var userID = obj.value;   
  4.     if(userID.length > 20)   
  5.     {   
  6.         f_alert(obj,"ID长度不能大于20");   
  7.         return false;   
  8.     }   
  9.   
  10.     if(!isNaN(userID.charAt(0)))   
  11.     {   
  12.         f_alert(obj,"ID第一个字符不能为数字");   
  13.         return false;   
  14.     }   
  15.     if(!/^\w{1,20}$/.test(userID))    
  16.     {   
  17.         f_alert(obj,"ID只能由数字、字母、下划线组合而成");   
  18.         return false;   
  19.     }   
  20.     return true;   
  21. }   
  22.    
<script>render_code();</script>
/*
功能:验证身份证号码是否有效
提示信息:未输入或输入身份证号不正确!
使用:f_check_IDno(obj)
返回:bool
*/
代码
  1. function f_check_IDno(obj)   
  2. {    
  3.     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:"国外"};   
  4.     
  5.     var iSum = 0;   
  6.     var info = "";   
  7.     var strIDno = obj.value;   
  8.     var idCardLength = strIDno.length;     
  9.     if(!/^\d{17}(\d|x)$/i.test(strIDno)&&!/^\d{15}$/i.test(strIDno))    
  10.     {   
  11.         f_alert(obj,"非法身份证号");   
  12.         return false;   
  13.     }   
  14.     
  15.     //在后面的运算中x相当于数字10,所以转换成a   
  16.     strIDno = strIDno.replace(/x$/i,"a");   
  17.   
  18.     if(aCity[parseInt(strIDno.substr(0,2))]==null)   
  19.     {   
  20.         f_alert(obj,"非法地区");   
  21.         return false;   
  22.     }   
  23.        
  24.     if (idCardLength==18)   
  25.     {   
  26.         sBirthday=strIDno.substr(6,4)+"-"+Number(strIDno.substr(10,2))+"-"+Number(strIDno.substr(12,2));   
  27.         var d = new Date(sBirthday.replace(/-/g,"/"))   
  28.         if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))   
  29.         {          
  30.             f_alert(obj,"非法生日");   
  31.             return false;   
  32.         }   
  33.   
  34.         for(var i = 17;i>=0;i --)   
  35.             iSum += (Math.pow(2,i) % 11) * parseInt(strIDno.charAt(17 - i),11);   
  36.   
  37.         if(iSum%11!=1)   
  38.         {   
  39.             f_alert(obj,"非法身份证号");   
  40.             return false;   
  41.         }   
  42.     }   
  43.     else if (idCardLength==15)   
  44.     {   
  45.         sBirthday = "19" + strIDno.substr(6,2) + "-" + Number(strIDno.substr(8,2)) + "-" + Number(strIDno.substr(10,2));   
  46.         var d = new Date(sBirthday.replace(/-/g,"/"))   
  47.         var dd = d.getFullYear().toString() + "-" + (d.getMonth()+1) + "-" + d.getDate();      
  48.         if(sBirthday != dd)   
  49.         {   
  50.             f_alert(obj,"非法生日");   
  51.             return false;   
  52.         }   
  53.     }   
  54.     return true;    
  55. }   
分享到:
评论

相关推荐

    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