using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI.HtmlControls;
using System.Web.UI;
using System.Text.RegularExpressions; namespace Common
{
public class Validate
{
private static readonly Regex RegPhone = new Regex("(^(\\d{11})$|^((\\d{7,8})|(\\d{4}|\\d{3})-(\\d{7,8})|(\\d{4}|\\d{3})-(\\d{7,8})-(\\d{4}|\\d{3}|\\d{2}|\\d{1})|(\\d{7,8})-(\\d{4}|\\d{3}|\\d{2}|\\d{1}))$)"); //电话号码和手机验证
private static Regex RegEmail = new Regex("^\\s*([A-Za-z0-9_-]+(\\.\\w+)*@([\\w-]+\\.)+\\w{2,3})\\s*$"); //new Regex("^[\\w-]+@[\\w-]+\\.(com|net|org|edu|mil|tv|biz|info)$");//w 英文字母或数字的字符串,和 [a-zA-Z0-9] 语法一样
private static Regex RegNum = new Regex("^[0-9]+$"); //必须是数字正则表达式(小数或整数)
private static Regex regex = new Regex(@"/^[0-9]+\.?[0-9]{0,3}$/");
/// <summary>
/// 身份证正值表达式
/// </summary>
private static readonly Regex RegCardId = new Regex("(^\\d{15}$)|(^\\d{17}([0-9]|X|x)$)"); #region 确定用户输入是否合法
/// <summary>
/// 确定用户输入是否合法
/// </summary>
/// <param name="text">用户输入字符串</param>
/// <param name="maxLength">最大字符串长度</param>
/// <returns></returns>
public static string InputText(string text, int maxLength)
{
if (string.IsNullOrEmpty(text))
return string.Empty;
text = text.Trim();
if (maxLength != )
if (text.Length > maxLength)
text = text.Substring(, maxLength);
text = Regex.Replace(text, "[\\s]{2,}", " ");
text = Regex.Replace(text, "(<[b|B][r|R]/*>)+|(<[p|P](.|\\n)*?>)", "\n");
text = Regex.Replace(text, "(\\s*&[n|N][b|B][s|S][p|P];\\s*)+", " ");
//text = Regex.Replace(text, "<(.|\\n)*?>", string.Empty); //屏蔽标签
text = text.Replace("'", "''");
return text;
}
#endregion #region 验证电话号码
// 电话号码和手机号码检查
/// <summary>
/// 电话号码和手机号码检查
/// </summary>
/// <param name="inputData">电话号码或手机号码</param>
/// <returns>匹配结果</returns>
public static bool IsPhone(string inputData)
{
Match m = RegPhone.Match(inputData);
return m.Success;
}
#endregion #region 验证参数是否为中文字符
/// <summary>
/// 验证参数是否为中文字符
/// </summary>
/// <param name="input">输入参数</param>
/// <returns></returns>
public static bool IsChinese(string input)
{
Regex regex = new Regex(@"[\u4e00-\u9fa5]", RegexOptions.IgnoreCase);
return regex.IsMatch(input);
}
#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 #region 是否为数字
/// <summary>
/// 是否为数字
/// </summary>
/// <param name="inputData">输入字符串</param>
/// <returns>是否为数字</returns>
public static bool IsNum(string inputData)
{
if(string.IsNullOrEmpty(inputData))
{
return false;
}
Match m = RegNum.Match(inputData);
return m.Success;
}
/// <summary>
/// 判断是否是整数或小数
/// </summary>
/// <param name="str">输入的字符串</param>
/// <returns>是否为数字</returns>
public static bool IsNumAll(string str)
{
if (string.IsNullOrEmpty(str))
{
return false;
}
Match m = regex.Match(str);
return m.Success;
} #endregion #region 是否为身份证
/// <summary>
/// 是否为身份证
/// </summary>
/// <param name="inputData">输入字符串</param>
/// <returns>是否为身份证</returns>
public static bool IsCardId(string inputData)
{
Match m = RegCardId.Match(inputData);
return m.Success;
}
#endregion /// <summary>
/// 判断字符串是否是纯数字
/// </summary>
/// <param name="message">源字符串</param>
/// <returns></returns>
public static bool IsNumberic(string message)//, out int result
{
System.Text.RegularExpressions.Regex rex =
new System.Text.RegularExpressions.Regex(@"^\d+$");
var result = -;
if (rex.IsMatch(message))
{
result = int.Parse(message);
return true;
}
else
return false;
}
}
}

C# 常用验证的更多相关文章

  1. PHP常用验证正则表达式

    PHP常用验证正则表达式 数字.手机号.QQ号.Url地址合法性校验 1.验证是否为整数 1 function isNumber($val) 2 { 3 if(ereg("^[0-9]+$& ...

  2. bootstrapValidator常用验证规则总结

    bootstrapValidator常用验证规则总结 一 .bootstrapValidator引入 在使用bootstrapValidator前我们需要引入bootstrap和bootstrapVa ...

  3. DotNet项目中的一些常用验证操作

    在项目中需要对用户输入的信息,以及一些方法生成的结果进行验证,一般在项目中较多的采用js插件或js来进行有关信息的校验,但是从项目安全性的角度进行考虑,可对系统进行js注入. 如果在后台对用户输入的信 ...

  4. jquery.validate使用 - 常用验证脚本

    一些常用的验证脚本 不会写js了,只能从网上找一些常用的验证脚本. // 手机号码验证jQuery.validator.addMethod("mobile", function(v ...

  5. 常用验证正则:用户名、密码、邮箱、手机号、身份证(PHP和JavaScript)

    日常开发中,常常会用到一些简单常用的正则表达式,用于判断一些常见的情况 下边,就列出五种(验证用户名,密码强度,邮箱格式,手机号格式和身份证格式)常见的情况 分成PHP版本和JavaScript两个版 ...

  6. js正则基础总结和工作中常用验证规则

    知识是需要系统的.就像js正则用了那么多次,却还是浑浑噩噩,迫切需要来一次整理,那么来吧! 基本知识 元字符 \d 匹配数字等于[0-9] \w 匹配字母.数字.下划线.中文 \s 匹配任意空白字符 ...

  7. 五十三:WTForms表单验证之常用验证器

    Email:验证数据是否为邮箱EqualTo:验证此字段的数据是否和另一个字段的值相等,常用与校验密码和确认密码InputRequired:检验数据必传Length:校验数据长度NumberRange ...

  8. ValidateUtil常用验证工具类,如手机、密码、邮箱等

    package cn.com.ssk.util.utils; import java.util.regex.Pattern; import org.apache.commons.lang3.Strin ...

  9. JS 常用验证REG

    不错的JS验证~~~~~~~~~~~~~~~~~~~~~~~~~ 用途:校验ip地址的格式 输入:strIP:ip地址 返回:如果通过验证返回true,否则返回false: */ function i ...

  10. rails常用验证方法 (转)

    validates_presence_of       :login,  :message => "用户名不能为空!" validates_length_of         ...

随机推荐

  1. HDU 5723 Abandoned country(kruskal+dp树上任意两点距离和)

    Problem DescriptionAn abandoned country has n(n≤100000) villages which are numbered from 1 to n. Sin ...

  2. SpringBoot集成Jasypt安全框架,配置文件内容加密

    我们在SpringBoot项目中的yml或者properties配置文件中都是明文的,相对而言安全性就低了很多.都知道配置文件中的都是一些数据库连接用户名密码啊.一些第三方密钥等信息.所以我们谨慎点, ...

  3. 容器101:Docker基础

    Docker如此受欢迎的一个原因是它提供了“一次开发,随处运行”的承诺.Docker提供了一种将应用程序及其运行时依赖性打包到单个容器中的简单方法.它还提供了一个运行时抽象,使容器能够跨不同版本的Li ...

  4. eclipse-查看继承层次图/继承实现层次图

    阅读代码时,如果想要看某个类继承了哪些类.实现了哪些接口.哪些类继承了这个类,恰巧这个类的继承实现结构又比较复杂,那么如果对开发工具不是很熟练,这个需求是比较难以实现的.eclipse中的type h ...

  5. js data日期初始化的5种方法

    var objDate=new Date([arguments list]);  参数形式有以下5种: 1)new Date("month dd,yyyy hh:mm:ss");  ...

  6. ECMAscript,DOM,BOM哪个比较重要

    ECMA > DOM > BOM ECMA是JS的核心,语法.变量.对象.各种对象的API.作用域.原型链.闭包.This指向.构造函数等等必须要熟练,有了这些基础你才能去熟练的操作DOM ...

  7. vi/vim 文字处理器常用命令

    目录 vi 与vim vi 的三种模式 vi 光标移动 vi 搜索与替换 vi 删除 vi 复制 vi 粘贴 vi 其他 vi 进入编辑模式 vi 命令行命令 vim 附加功能 vi 与vim vi是 ...

  8. zeromq学习记录(七)订阅发布消息封装

    之前也有提到 使用订阅发布 pub sub模式必须要显示定义ZMQ_SUBSCRIBE 只有以此模式定义的过滤字节开头的消息才会被订阅者收到 如果想收到所有信息 可定义subscriber.setso ...

  9. 别人的Linux私房菜(5)首次CentOS7与帮助等

    ctrl alt F1-F6切换终端tty1-6,其中,F1的终端带有用户界面. 在终端登录后,输入startx启动个人图形界面.(启动有一些条件限制,如没有其他的X Window启用,已经安装,并具 ...

  10. ios Block详解

    一. iOS代码块Block 1.1 概述 代码块Block是苹果在iOS4开始引入的对C语言的扩展,用来实现匿名函数的特性,Block是一种特殊的数据类型,其可以正常定义变量.作为参数.作为返回值, ...