Net中正则表达式的简单使用方法及常见验证判断

判断字符串是只是数字我们可以这样写:
return new System.Text.RegularExpressions.Regex(@"^([0-9])[0-9]*(\.\w*)?$").IsMatch(strNumber);
或者
return System.Text.RegularExpressions.Regex.IsMatch(strNumber, @"^([0-9])[0-9]*(\.\w*)?$");
第二个是使用静态方法,而第一个是直接实例化一个Regex类
通过.Net Refleactor我们可以看到:
public static bool IsMatch(string input, string pattern){
    return new Regex(pattern).IsMatch(input);
}
这个是静态方法,而且本质使用的还是 return new Regex(pattern).IsMatch(input);

常见函数:

1,是否是日期格式:
public static bool IsDateString(string str){
    return Regex.IsMatch(str, @"(\d{4})-(\d{1,2})-(\d{1,2})");
}
这个是判断是否是时间格式:
public static bool IsTime(string timeval){
    return Regex.IsMatch(timeval, "^((([0-1]?[0-9])|(2[0-3])):([0-5]?[0-9])(:[0-5]?[0-9])?)$");
}
2,是否是数字类型
public static bool IsNumber(string strNumber){
    return new Regex(@"^([0-9])[0-9]*(\.\w*)?$").IsMatch(strNumber);
}
3,是否是电子邮件格式: 
public static bool IsValidEmail(string strEmail){
    return Regex.IsMatch(strEmail, @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$");
}
4,是否是安全的sql
public static bool IsSafeSqlString(string str){
    return !Regex.IsMatch(str, @"[-|;|,|\/|\(|\)|\[|\]|\}|\{|%|@|\*|!|\']");
}其他继续搜集中,如果你有好的可以留言

一些常见正则表达式
    1.验证用户名和密码:("^[a-zA-Z]\w{5,15}$")正确格式:"[A-Z][a-z]_[0-9]"组成,并且第一个字必须为字母6~16位;
    2.验证电话号码:("^(\d{3.4}-)\d{7,8}$")正确格式:xxx/xxxx-xxxxxxx/xxxxxxxx;
    3.验证身份证号(15位或18位数字):("^\d{15}|\d{18}$");
    4.验证Email地址:("^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$");
    5.只能输入由数字和26个英文字母组成的字符串:("^[A-Za-z0-9]+$")   ;
    6.整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$
    7.只能输入数字:"^[0-9]*$"。
    8.只能输入n位的数字:"^\d{n}$"。
    9.只能输入至少n位的数字:"^\d{n,}$"。
    10.只能输入m~n位的数字:。"^\d{m,n}$"
    11.只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。
    12.只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"。
    13.只能输入有1~3位小数的正实数:"^[0-9]+(.[0-9]{1,3})?$"。
    14.只能输入非零的正整数:"^\+?[1-9][0-9]*$"。
    15.只能输入非零的负整数:"^\-[1-9][]0-9"*$。
    16.只能输入长度为3的字符:"^.{3}$"。
    17.只能输入由26个英文字母组成的字符串:"^[A-Za-z]+$"。
    18.只能输入由26个大写英文字母组成的字符串:"^[A-Z]+$"。
    19.只能输入由26个小写英文字母组成的字符串:"^[a-z]+$"。
    20.验证是否含有^%&',;=?$\"等字符:"[^%&',;=?$\x22]+"。
    21.只能输入汉字:"^[\u4e00-\u9fa5]{0,}$"
    22.验证URL:"^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"。
    23.验证一年的12个月:"^(0?[1-9]|1[0-2])$"正确格式为:"01"~"09"和"1"~"12"。
    24.验证一个月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正确格式为;"01"~"09"和"1"~"31"。

"^([a-z]|\d|[\u4e00-\u9fa5]){4,16}$"

.net 常用正则表达式的更多相关文章

  1. Javascript正则构造函数与正则表达字面量&&常用正则表达式

    本文不讨论正则表达式入门,即如何使用正则匹配.讨论的是两种创建正则表达式的优劣和一些细节,最后给出一些常用正则匹配表达式. Javascript中的正则表达式也是对象,我们可以使用两种方法创建正则表达 ...

  2. [python] 常用正则表达式爬取网页信息及分析HTML标签总结【转】

    [python] 常用正则表达式爬取网页信息及分析HTML标签总结 转http://blog.csdn.net/Eastmount/article/details/51082253 标签: pytho ...

  3. 常用正则表达式-copy

    匹配中文:[\u4e00-\u9fa5] 英文字母:[a-zA-Z] 数字:[0-9] 匹配中文,英文字母和数字及_: ^[\u4e00-\u9fa5_a-zA-Z0-9]+$ 同时判断输入长度:[\ ...

  4. IOS常用正则表达式

    IOS常用正则表达式 正则表达式用于字符串处理.表单验证等场合,实用高效.现将一些常用的表达式收集于此,以备不时之需. 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 评注:匹配中文还真是 ...

  5. 【转】【Asp.Net MVC】asp.net mvc Model验证总结及常用正则表达式

    本文属转载,来源: http://www.byywee.com/page/M0/S868/868615.html 关于Model验证官方资料: http://msdn.microsoft.com/zh ...

  6. PHP常用正则表达式汇总 [复制链接]

    PHP常用正则表达式汇总 [复制链接] 上一主题下一主题   离线我是小猪头   法师     发帖 539 加关注 发消息 只看楼主 倒序阅读 使用道具楼主  发表于: 2011-06-22 更多 ...

  7. PHP中常用正则表达式大全

    常用正则表达式大全!(例如:匹配中文.匹配html) 匹配中文字符的正则表达式: [u4e00-u9fa5]    评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内 ...

  8. JavaScript常用正则表达式与应用(一)

    JavaScript的String类和RegExp对象类都定义了相关方法使用正则表达式进行模式匹配,本文将以连载方式介绍JavaScript常用正则表达式与相关应用,欢迎交流 本节是连载一,首先介绍J ...

  9. Java基础知识强化71:正则表达式之基本规则 和 常用正则表达式

    1. 基本规则: A:字符 x 字符 x.举例:'a'表示字符a \\ 反斜线字符. \n 新行(换行)符 ('\u000A') \r 回车符 ('\u000D') B:字符类 [abc] a.b 或 ...

  10. Java 常用正则表达式,Java正则表达式,Java身份证校验,最新手机号码正则表达式

    Java 常用正则表达式,Java正则表达式,Java身份证校验,最新手机号码校验正则表达式 ============================== ©Copyright 蕃薯耀 2017年11 ...

随机推荐

  1. static 在多台下的特性

    被static修饰的方法不具备多台的特性,因为这个时候,该方法已经不具备"后期绑定"的性质了,也就是说,基类的引用就算指向导出类,调用的static的方法还是用基类的. 如果要调用 ...

  2. 查看cics 运行状态

     查看cics 运行状态cicscp -v status all 

  3. 获取本地ip地址

    #import <ifaddrs.h> #import <arpa/inet.h> // Get IP Address - (NSString *)getIPAddress { ...

  4. linux路由配置负载均衡

    负载平衡ip route add default scope global nexthop via XX.XX.XX.XX dev eth0 weight 1 nexthop via XX.XX.XX ...

  5. linux下关于mysqldump备份的.sql导入数据库表数据丢失优化

    直切正题 前2个随笔做了linux下自动备份,但是备份的.sql文件发现表数据丢失,原因是数据库太大我的数据库文件是804M,在用ftp拉去也会丢失数据 所以对db.sh备份数据库加一个压缩gizp ...

  6. DevExpress BarManager 部分用法

    1.创建一个BarManager会默认产生三个菜单.BarManager右键ShowDesignTime enhancements会显示[add]按钮,可对菜单进行编辑. 2.其中比较有用的属性: 选 ...

  7. 一些关于python的小感想

    python是一门优秀的语言,但随之而来的是大量的知识,各种模块,相信一个人的大脑是很难记住如此多的内容.这时后的我们就应该想办法避免去记忆这么多的内容. 1.查看官方文档(英语很重要,啥也不说了) ...

  8. 【Inno Setup】 Inno Setup 64位安装程序默认安装路径

    在脚本中加入: ArchitecturesInstallIn64BitMode=x64 ArchitecturesAllowed=x64

  9. 刀哥多线程笔记之gcd-02-block

    block 概念 block 是 C 语言的 是一种数据类型,可以当作参数传递 是一组预先准备好的代码,在需要的时候执行 动画 block 回顾 self.demoView.center = CGPo ...

  10. oracle 归档/非归档

    1.查看oralce是归档模式还是非归档模式 SQL> select name,log_mode from v$database; NAME LOG_MODE------------------ ...