`

javascript各种各样的验证方法(正则表达式)

阅读更多
绝对有用,项目中绝对也常用
代码如下:
/**
* 取得字符串的字节长度
*/
代码

   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+=2; else len++; 
  10.     } 
  11.     return len; 
  12. } 
  13.   


/*
* 判断是否为数字,是则返回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.   


/*
* 判断是否为自然数,是则返回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.   


/*
* 判断是否为整数,是则返回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.   


/*
* 判断是否为实数,是则返回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.   


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

   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.   


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

   1. function f_check_interval(obj) 
   2. { 
   3.     var value = parseFloat(obj.value); 
   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.   


/*
用途:检查输入字符串是否只由汉字组成
如果通过验证返回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.   


/*
* 判断是否为小写英文字母,是则返回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.   


/*
* 判断是否为大写英文字母,是则返回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.   


/*
* 判断是否为英文字母,是则返回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.   


/*
用途:检查输入字符串是否只由汉字、字母、数字组成
输入:
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.   


/*
用途:校验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<256) return true; 
   7.     } 
   8.     f_alert(obj,"请输入合法的计算机IP地址"); 
   9.     return false;  
  10. } 
  11.   


/*
用途:检查输入对象的值是否符合端口号格式
输入: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.   


/*
用途:检查输入对象的值是否符合网址格式
输入: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.   


/*
用途:检查输入对象的值是否符合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.   
分享到:
评论

相关推荐

    JavaScript正则表达式使用详解

    在JavaScript中,正则表达式常用于字符串方法如 `match()`、`search()`、`replace()` 和 `split()`,以实现高效的数据验证、搜索和替换操作。例如,验证电子邮件地址的格式,可以编写一个正则表达式来确保输入符合...

    匹配中文字符的正则表达式

    在日常开发工作中,经常需要处理各种各样的字符串,其中就包括中文字符的处理。对于中文字符的匹配,正则表达式是一种非常有效的工具。 #### 正则表达式的概念 正则表达式(Regular Expression)是一种用于匹配...

    正则表达式

    不同的编程语言或工具可能使用不同的正则表达式引擎,如Perl兼容正则表达式(PCRE)和JavaScript的正则引擎。引擎的差异可能导致某些语法和行为不完全一致,例如在某些环境中,`(?i)`可以开启大小写不敏感匹配。 四...

    页面特效JavaScript校验等

    常见的JavaScript验证方法包括正则表达式匹配、自定义函数验证等。例如,对于邮箱验证,可以编写一个函数检查输入是否符合标准的邮箱格式: ```javascript function validateEmail(email) { const emailRegex = /^...

    js 常用的特效和验证

    在网页设计中,JS能够极大地提升用户体验,创造出各种各样的视觉特效和实用的表单验证功能。以下是对"js 常用的特效和验证"这一主题的详细解释。 一、JavaScript特效 1. **导航样式**:JavaScript可以用来创建动态...

    js中字符串方法使用教程

    在实际开发过程中,我们经常需要对字符串进行各种各样的操作,因此熟练掌握这些方法至关重要。它不仅能够帮助我们更好地格式化和处理用户输入的数据,还能在编写代码时提高效率。 字符串操作在处理表单数据、显示和...

    表单提交验证

    通过这个简单的表单提交验证项目,前端新手可以学习到JavaScript基础、DOM操作、正则表达式验证以及基本的事件处理。这些都是前端开发中的必备技能,对于提升开发水平非常有帮助。在实际工作中,我们还需要考虑错误...

    DomRegExp Form Validator-开源

    在实际使用中,开发者通常会将"DomRegExp Form Validator"的库文件(如"DRE Form Validator_v0.9.3_10-Feb-2005"中的文件)引入到HTML页面中,并通过JavaScript代码指定需要验证的表单元素及对应的正则表达式规则。...

    一些经常会用到的Javascript检测函数

    在前端开发中,我们经常需要对用户输入或浏览器传来的数据进行各种各样的检测,以确保数据的正确性和有效性。在JavaScript中,我们通常会扩展一些对象的prototype来添加自定义的方法,以便于全局使用这些检测函数。...

    JavaScript实例

    JavaScript实例通常包含了各种各样的代码示例,涵盖了语言的基础到高级用法,包括但不限于以下方面: 1. **基本语法**:如变量声明(var, let, const),数据类型(Number, String, Boolean, Object, Array, null, ...

    验证控件的例子

    在.NET框架中,C#是一种常用的编程语言,用于开发各种应用程序,包括Web应用程序。在创建交互式的用户界面时,验证控件是不可或...通过实践和调试,你可以进一步探索和优化这些控件的配置,以适应各种各样的验证场景。

    javaScript应用客户端编程

    描述中的"当下js所实现的各种各样的功能如下拉、提交、层叠等",进一步细化了JavaScript在客户端编程中的常见应用场景。以下拉功能为例,JavaScript可以创建动态下拉菜单,使得用户在不刷新页面的情况下可以选择不同...

    javascript经典特效---检测输入字符个数.rar

    通过结合HTML、CSS和JavaScript,我们可以创建各种各样的输入验证和反馈机制,满足不同场景的需求。这个"检测输入字符个数.htm"文件就是一个很好的学习实例,可以帮助开发者理解并掌握这一技能。

    使用客户端验证框架JSValidation

    为了确保用户输入的数据符合预期的格式和规则,开发人员经常需要编写大量的JavaScript代码来处理各种各样的验证逻辑。然而,这种做法不仅效率低下,而且容易出错,特别是在涉及到跨浏览器兼容性时更为明显。 为了...

    程序员常用JavaScript特效

    JavaScript是Web开发中不可或缺的一部分,尤其对于前端程序员来说,它是一种强大的工具,能够实现各种各样的动态效果,提升用户体验。本文将深入探讨程序员在实际工作中经常使用的JavaScript特效及其背后的原理。 1...

    很早之前收集的无忧脚本论坛的JS例子集合

    这20个类别可能包括基础语法、DOM操作、事件处理、函数技巧、数组操作、对象与类、AJAX交互、正则表达式、时间与日期处理、动画效果、浏览器兼容性问题、JSON处理、表单验证、cookies管理、Ajax无刷新更新、地理位置...

    JavaScript特效代码集

    JavaScript作为前端开发的重要语言,其强大的功能和灵活性使得开发者能够创造出各种各样的动态效果。 在JavaScript中,实现特效主要依赖于DOM操作、时间函数、事件处理以及CSS样式控制。以下是一些常见的JavaScript...

    前端开源库-is-percent

    1. **正则表达式验证**:最基础的方法是使用正则表达式来匹配百分比格式。一个简单的正则可能是 `/^([0-9]|[1-9][0-9]|100)(\%)?$/` ,它能捕获0到100之间的整数或小数,并可选地后面跟着百分号。 2. **范围检查**...

    牛客-js45题-代码

    在JavaScript这个强大的客户端和服务器端编程语言中,开发者经常会遇到各种各样的编程题目,旨在提升他们的逻辑思维、算法理解和实际编程技能。 【描述】"包含完整代码" 暗示了这个压缩包里有针对每个问题的详尽...

    简单用户交互界面

    总结来说,通过JavaScript,我们可以创建各种各样的用户交互,包括响应用户操作的事件处理、表单验证、动态内容更新以及视觉效果等。在实际项目中,这些功能通常结合HTML和CSS一起使用,构建出完整的前端应用程序。...

Global site tag (gtag.js) - Google Analytics