using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
namespace Utility.UI
{
///<summary>
///<Author>jilongliang</Author>
///<Date>2012/9/7</Date>
///<Email >jilongliang@sina.com</Email >
///<Description>验证类</Description>
///</summary>
public class ValidateHelper
{
private static Regex RegNumber = new Regex("^[0-9]+$");//数字字符串
private static Regex RegNumberSign = new Regex("^[+-]?[0-9]+$");//数字字符串
private static Regex RegDecimal = new Regex("^[0-9]+[.]?[0-9]+$");//浮点数
private static Regex RegDecimalSign = new Regex("^[+-]?[0-9]+[.]?[0-9]+$"); //等价于^[+-]?\d+[.]?\d+$
private static Regex RegEmail = new Regex("^[\\w-]+@[\\w-]+\\.(com|net|org|edu|mil|tv|biz|info)$");//w 英文字母或数字的字符串,和 [a-zA-Z0-9] 语法一样
private static Regex RegCHZN = new Regex("[\u4e00-\u9fa5]");//中文
private static Regex RegQQ = new Regex("[1-9][0-9]{4,}");//匹配腾讯QQ号
private static Regex RegTel = new Regex("d{3}-d{8}|d{4}-d{7}");//Tel匹配国内电话号码
private static Regex RegURL = new Regex("[a-zA-z]+://[^s]*");//URL
private static Regex RegZipCode = new Regex("[1-9]d{5}(?!d)");//CN 邮政编码
private static Regex RegIDCard = new Regex("d{15}|d{18}");//匹配身份证:d{15}|d{18}
private static Regex RegHTML = new Regex("<(S*?)[^>]*>.*?|<.*? />");//匹配HTML标记的正则表达式:<(S*?)[^>]*>.*?|<.*? />
private static Regex RegPassWord = new Regex("^[a-zA-Z]w{5,17}$"); //验证用户密码:“^[a-zA-Z]w{5,17}$”正确格式为:以字母开头,长度在6-18之间
private static Regex Reg26A_Z = new Regex("^[A-Za-z]+$");//只能输入由26个英文字母组成的字符串:“^[A-Za-z]+$”
private static Regex Reg26Large_A_Z = new Regex("^[A-Z]+$");//只能输入由26个大写英文字母组成的字符串:“^[A-Z]+$”
private static Regex Reg26Small_A_Z = new Regex("^[a-z]+$");//只能输入由26个小写英文字母组成的字符串:“^[a-z]+$”
private static Regex Reg0_9_A_Z = new Regex("^[A-Za-z0-9]+$");//只能输入由数字和26个英文字母组成的字符串:“^[A-Za-z0-9]+$”
private static Regex Reg0_9_A_Z_ = new Regex("^w+$");//只能输入由数字、26个英文字母或者下划线组成的字符串:“^w+$”
///<summary>
///无参数构造方法
///</summary>
public ValidateHelper()
{
}
///<summary>
///是否数字字符串
///</summary>
///<param name="inputData">输入字符串</param>
///<returns></returns>
public static bool IsNumber(string inputData)
{
Match m = RegNumber.Match(inputData);
return m.Success;
}
///<summary>
///是否数字字符串 可带正负号
///</summary>
///<param name="inputData">输入字符串</param>
///<returns></returns>
public static bool IsNumberSign(string inputData)
{
Match m = RegNumberSign.Match(inputData);
return m.Success;
}
///<summary>
///是否是浮点数
///</summary>
///<param name="inputData">输入字符串</param>
///<returns></returns>
public static bool IsDecimal(string inputData)
{
Match m = RegDecimal.Match(inputData);
return m.Success;
}
///<summary>
///是否是浮点数 可带正负号
///</summary>
///<param name="inputData">输入字符串</param>
///<returns></returns>
public static bool IsDecimalSign(string inputData)
{
Match m = RegDecimalSign.Match(inputData);
return m.Success;
}
#region中文检测
///<summary>
///检测是否有中文字符
///</summary>
///<param name="inputData"></param>
///<returns></returns>
public static bool IsHasCHZN(string inputData)
{
Match m = RegCHZN.Match(inputData);
return m.Success;
}
#endregion
#region邮件地址
///<summary>
///是否是浮点数 可带正负号
///</summary>
///<param name="inputData">输入字符串</param>
///<returns></returns>
public static bool IsEmail(string inputData)
{
Match m = RegEmail.Match(inputData);
return m.Success;
}
#endregion
///<summary>
///验证是否合法的URL
///</summary>
///<param name="InputStr"></param>
///<returns></returns>
public static bool IsURL(string InputStr)
{
Match m = RegURL.Match(InputStr);
return m.Success;
}
///<summary>
///验证电话号码是否合法
///</summary>
///<param name="InputStr"></param>
///<returns></returns>
public static bool IsTelNumber(string InputStr)
{
Match m = RegTel.Match(InputStr);
return m.Success;
}
///<summary>
///验证邮政编码
///</summary>
///<param name="InputStr"></param>
///<returns></returns>
public static bool IsZipCode(string InputStr)
{
Match m = RegZipCode.Match(InputStr);
return m.Success;
}
///<summary>
///验证QQ号
///</summary>
///<param name="InputStr"></param>
///<returns></returns>
public static bool IsQQ(string InputStr)
{
Match m = RegQQ.Match(InputStr);
return m.Success;
}
///<summary>
///验证身份证
///</summary>
///<param name="InputStr"></param>
///<returns></returns>
public static bool IsIDCard(string InputStr)
{
Match m = RegIDCard.Match(InputStr);
return m.Success;
}
///<summary>
///验证用户密码
///</summary>
///<param name="InputStr"></param>
///<returns></returns>
public static bool IsPassWord(string InputStr)
{
Match m = RegPassWord.Match(InputStr);
return m.Success;
}
///<summary>
///验证只能输入由26个英文字母组成的字符串
///</summary>
///<param name="InputStr"></param>
///<returns></returns>
public static bool Is26A_Z(string InputStr)
{
Match m = Reg26A_Z.Match(InputStr);
return m.Success;
}
///<summary>
///只能输入由26个大写英文字母组成的字符串
///</summary>
///<param name="InputStr"></param>
///<returns></returns>
public static bool Is26Large_A_Z(string InputStr)
{
Match m = Reg26Large_A_Z.Match(InputStr);
return m.Success;
}
///<summary>
///只能输入由26个小写英文字母组成的字符串
///</summary>
///<param name="InputStr"></param>
///<returns></returns>
public static bool Is26Small_A_Z(string InputStr)
{
Match m = Reg26Small_A_Z.Match(InputStr);
return m.Success;
}
///<summary>
///只能输入由数字和26个英文字母组成的字符串
///</summary>
///<param name="InputStr"></param>
///<returns></returns>
public static bool Is0_9_AZ_Str(string InputStr)
{
Match m = Reg0_9_A_Z.Match(InputStr);
return m.Success;
}
///<summary>
///只能输入由数字和26个英文字母组成的字符串和下划线
///</summary>
///<param name="InputStr"></param>
///<returns></returns>
public static bool Is0_9_A_Z_Str(string InputStr)
{
Match m = Reg0_9_A_Z_.Match(InputStr);
return m.Success;
}
}
}
相关推荐
"validate 通用Ajax无刷新表单验证类"就是针对这一需求设计的,旨在提供一个高效、便捷的解决方案,使得在用户填写表单时能够实时进行数据验证,无需等待页面刷新,极大地提高了用户体验。 Ajax(Asynchronous ...
8. **API接口**: validate类通常会提供丰富的API接口,供开发者调用,如开始验证、停止验证、获取验证结果等,方便在代码中灵活控制验证过程。 9. **性能优化**: 为了减少不必要的计算和网络请求,validate类会有...
`validate`是一个通用的Ajax无刷新表单验证类,使用JavaScript编写,它允许在用户提交数据之前即时检查输入,无需刷新整个页面。这种技术大大提升了用户交互的流畅性,使得表单填写过程更加高效。 `validate`类的...
【最新实用的Validate通用表单验证Jquery插件】是一个高效、灵活的前端验证工具,专为使用Jquery框架的Web开发人员设计。这个插件极大地简化了表单验证的过程,使得用户输入的数据在提交前就能得到有效的检查,从而...
- 自定义验证器应尽可能通用,以复用验证逻辑。 10. **Struts 2的验证** 虽然Struts 2不再依赖于单独的验证框架,但提供了类似的机制——基于拦截器的Validation Interceptor。不过,其工作原理和配置方式与...
再者,`util.js`可能包含了通用的辅助函数或工具方法,这些可以帮助你在验证过程中处理各种逻辑,如日期格式检查、邮箱验证等。确保这些工具函数被正确地导入并可以在验证逻辑中使用。 使用jQuery Validate的基本...
总的来说,“注册通用验证器”是一个全面的解决方案,涵盖了从前端到后端的验证过程,提供了用户输入的有效性和安全性检查。它简化了开发者的任务,提高了应用程序的安全性,同时也提升了用户体验。通过理解和使用...
《Validate通用表单验证Jquery插件:前端验证技术详解》 在Web开发中,表单验证是一项必不可少的任务,它确保用户输入的数据符合预设的规则,从而避免无效数据的提交,提高系统的稳定性和用户体验。"Validate通用...
通用表单验证Jquery插件是为了提高用户体验和数据安全而设计的。Jquery是一种强大的JavaScript库,它简化了JavaScript的DOM操作,事件处理,动画效果,以及Ajax交互。在这个场景中,我们关注的是Jquery在表单验证中...
javascript,小程序,uni-app通用的验证类,内置常用的验证方法。。//使用用方法 /* *valit_rule验证规则 *value,验证数据form *true ,一次性全部检测完 / //var vali_result = validate.check(this.data.valit_rule,...
《jQuery带Tips动画提示通用表单验证插件详解》 在网页开发中,表单验证是必不可少的一个环节,它能够确保用户输入的数据符合预设的规则,提高用户体验并减少服务器端的压力。jQuery Validate插件正是这样一个强大...
本文将深入探讨“js通用表单验证代码”这一主题,以及如何利用JavaScript进行有效的表单验证。 首先,我们要理解JavaScript在表单验证中的角色。JavaScript是一种客户端脚本语言,它可以在用户的浏览器上运行,无需...
在实际使用中,开发者可以通过引入"MS.Framework.Validate"库,定义实体类,并在实体属性上添加对应的校验注解,然后调用校验方法进行验证。如果所有校验规则都通过,那么数据就可以安全地保存或处理;如果有任何一...
- `validator`类可能包含一系列方法,如`validate()`用于执行验证,`addError()`和`clearErrors()`用于处理错误信息。 - 类的实例可以绑定到特定的表单元素,或者在整个表单上进行全局验证。 6. **自定义验证规则...
1.验证的表单元素,需要添加 class 名 : vf-validate 方开启验证; 2.当使用 vf_func 调用其他验证函数时,会传入“当前元素”;且需要在验证函数中返回验证状态:true(验证成功),其他或false皆为验证失败 * ...
在实际应用中,使用这些通用验证函数可以极大地减少重复工作,提高代码的可维护性。它们通常会被封装在一个单独的JS文件中,通过调用函数的方式在表单提交前执行验证。例如: ```javascript function validateForm...
其设计理念是尽量通过简单配置实现通用且强大的验证功能,大大提高了开发效率。 首先,jquery.validate支持使用默认验证规则进行验证。开发者只需要在HTML表单元素中添加对应的class,例如`required`表示该字段必填...
忙了一天,总算是完成了 因为现在的项目中使用了很多struts标签,原来网上流传的validate.js不能用了,所以狠下心来修改了validate,用了不同的方法实现了通用验证,并且与标签分离,可以与struts标签结合使用
Dojo的验证功能主要体现在两个方面:表单验证和通用验证函数。首先,Dojo通过其`dijit.form`模块提供了一套完整的表单组件,这些组件内建了验证功能。例如,`dijit.form.ValidationTextBox`是具有验证功能的文本框,...
基于Vue的表单通用验证插件是为了简化这一过程而设计的。这类插件通常提供了一套灵活的API和指令,帮助开发者轻松实现对表单数据的实时验证。 "bt-vue-validator-plugs-master" 这个压缩包可能包含了一个名为 "bt-...