用户操作
[即时聊天] [发私信] [加为好友]
清清月儿ID:21aspnet
1943143次访问,排名6好友0人,关注者304
21aspnet的文章
原创 959 篇
翻译 9 篇
转载 22 篇
评论 1184 篇
清清月儿的公告
最近评论
truely720:非常不错,正好派上用场了!谢谢啦!!
rczjp:楼主你好
关于那个 突出显示某一单元格 的问题 请教一下
当我分页的时候 应该怎么做也可以突出显示呢?
YANGMAOXING:呵呵,晚辈在此拜过
cctvcomchn:确实非常全面,不过据我所知,现在微软好像推出了一个liveview,全功能的,据说非常强大,特向专家请教。
cctvcomchn:确实非常全面,不过据我所知,现在微软好像推出了一个liveview,全功能的,据说非常强大,特向专家请教。
文章分类
收藏
    相册
    图片库
    图片库2
    .NET 工具
    C# to VB.NET Translator
    Fiddler
    FxCop代码标准检测工具
    httpwatch
    Memcached
    Multiple IE
    Nunit单元测试
    Tab集合
    VB.NET and C# Comparison
    VB.NET 代码转为C#
    网站国际排名查询工具
    .NET 下载/讲座视频
    chinaitlab
    enfull
    Visual Studio 2005 的工具
    wrox出版社书刊代码下载
    中国台湾微软MSDN
    中文MSDN WebCast网络广播全部下载列表
    源码之家
    .NET 优秀Blog
    cathsfz
    cnkiminzhuhu
    cuike519的专栏
    dahuzizyd的专栏
    DotNet技术交流乐园
    DotNet男孩社区
    dudu
    gztoby
    Kemin's booootLog
    kimyoo(RSS)
    LoveCherry
    MSDN每日追踪
    Nios.Org
    Think Different and Think More
    Visual Studio.net专栏
    WCF Tools 中国研发团队的专栏
    中国DotNet俱乐部
    体验ASP.NET 2.0新特性
    刘洪峰
    天轰穿
    孟宪会
    宝玉
    开心就好【博客堂】
    张子阳
    思归呓语
    木子 [I am praying]
    李会军
    李洪根【VB】
    永春阁
    汉飞扬【Vista】
    涂曙光【SharePoint】
    维生素C.net
    网际浪子
    葛涵涛
    蒋涛
    蝈蝈俊.net[csdn版]
    蝈蝈俊.net[joycode版]
    谭振林
    邹建
    阿不
    阿良.NET
    雨痕
    鸟食轩(RSS)
    .NET 优秀网站
    .NET 官方网www.asp.net
    .NET开发资源精华收【不得不看】
    ASP .NET FAQ
    asp101
    aspfree
    C#开源资源
    C#开源资源大全
    C#语言在线帮助网站
    codeproject
    infragistics
    iwebsms
    MSDN Web/服务
    MSDN中文
    Scott Guthrie(ASP.NET之父)
    SharePoint爱好者
    VS2005.com
    Wintellect
    www.411asp.net
    世界上最大的Open Source项目在线网站
    中国C#技术学习中心
    官方ASP.NET入门教程
    微软中文新闻组
    微软官方.NET指导站点
    最好的索引网站
    正则
    邮件发送常见问题解决方法
    Ajax链接
    AJAX载入等待图片在线生成
    bindows(RSS)
    DHTML menu4作者主页(RSS)
    Dhtmlgoodies
    Dynamicdrive
    EXT类库
    json
    Tabs
    Tabs
    Tabs
    Yahoo YUI
    大量DHTML代码
    无忧脚本 - JavaScript
    索漫
    综合开发技术网
    CSDN
    IBM中文Web 项目资源中心
    W3C技术在中国
    中国BS网
    中文C#技术站
    天新网
    天极网开发频道
    太平洋电脑网web开发
    看雪
    统一教学网
    编程爱好者
    网页设计师:web标准教程及推广,网站重构
    老猫理想
    蓝色理想
    豆豆技术网
    赛迪网
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 .NET2.0隐形的翅膀,正则表达式搜魂者【月儿原创】收藏

    新一篇: .NET2.0抓取网页全部链接【月儿原创】 | 旧一篇: ASP.NET2.0 文本编辑器FCKeditor的冰冷之心 【月儿原创】

    .NET2.0隐形的翅膀,正则表达式搜魂者

    作者:清清月儿

    主页:http://blog.csdn.net/21aspnet/           时间:2007.4.14



    本文实现了:
    只能输入1个数字
    只能输入n个数字
    只能输入至少n个数字
    只能输入m到n个数字
    只能输入数字
    只能输入某个区间数字
    只能输入0和非0打头的数字
    只能输入实数
    只能输入n位小数的正实数
    只能输入m-n位小数的正实数
    只能输入非0的正整数
    只能输入非0的负整数
    只能输入n个字符
    只能输入英文字符
    只能输入大写英文字符
    只能输入小写英文字符
    只能输入英文字符+数字
    只能输入英文字符/数字/下划线
    密码举例
    验证首字母大写
    验证网址(带?id=中文)VS.NET2005无此功能
    验证汉字
    验证QQ号
    验证电子邮件(验证MSN号一样)
    验证身份证号(粗验,最好服务器端调类库再细验证)
    验证手机号(包含159,不包含小灵通)
    验证电话号码号(很复杂,VS.NET2005给的是错的)
    验证护照
    验证IP,验证域验证信用卡(支持VISA卡,万事达卡,Discover卡,美国运通卡)
    验证ISBN国际标准书号

    验证GUID全球唯一标识符
    验证文件路径和扩展名
    验证Html颜色值

    ... ...
    我知道
    我一直有双隐形的翅膀
    带我飞
    给我希望
    我终于
    看到
    所有梦想都开花
    追逐的年轻
    ... ...
                      ---------------歌手:张韶涵 专辑:潘朵拉

    正则表达式是.NET隐形的语法。关于其语法的文章很多,也可以参考MSDN。本文的目的是举例,包括所有的正则表达式用法,会不断补充,欢迎大家留言提供支持!

    以下链接有足够多的基本教程:
    http://blog.csdn.net/21aspnet/category/285967.aspx

    RegularExpressionValidator控件
    使用RegularExpressionValidator控件,当然也可以不用RegularExpressionValidator控件在后台直接验证
    ValidationExpression属性自带了几个默认验证方法,但是那远远不够的。ErrorMessage属性是报错信息。



    如图所示可以点击“...”弹出的窗口选择你要的正则表达式,或者直接自己写


    在IE里输入不是对应格式的时候就会报错


    验证数字:

    只能输入1个数字

    表达式 ^\d$
    描述 匹配一个数字
    匹配的例子 0,1,2,3
    不匹配的例子

    只能输入n个数字

    表达式 ^\d{n}$  例如^\d{8}$
    描述 匹配8个数字
    匹配的例子 12345678,22223334,12344321
    不匹配的例子

    只能输入至少n个数字

    表达式 ^\d{n,}$ 例如^\d{8,}$
    描述 匹配最少n个数字
    匹配的例子 12345678,123456789,12344321
    不匹配的例子

    只能输入m到n个数字

    表达式 ^\d{m,n}$ 例如^\d{7,8}$
    描述 匹配m到n个数字
    匹配的例子 12345678,1234567
    不匹配的例子 123456,123456789

    只能输入数字

    表达式 ^[0-9]*$
    描述 匹配任意个数字
    匹配的例子 12345678,1234567
    不匹配的例子 E,清清月儿,http://blog.csdn.net/21aspnet

    只能输入某个区间数字

    表达式 ^[12-15]$
    描述 匹配某个区间的数字
    匹配的例子 12,13,14,15
    不匹配的例子

    只能输入0和非0打头的数字

    表达式 ^(0|[1-9][0-9]*)$
    描述 可以为0,第一个数字不能为0,数字中可以有0
    匹配的例子 12,10,101,100
    不匹配的例子 01,清清月儿,http://blog.csdn.net/21aspnet

    只能输入实数

    表达式 ^[-+]?\d+(\.\d+)?$
    描述 匹配实数
    匹配的例子 18,+3.14,-9.90
    不匹配的例子 .6,33s,67-99

    只能输入n位小数的正实数

    表达式 ^[0-9]+(.[0-9]{n})?$以^[0-9]+(.[0-9]{2})?$为例
    描述 匹配n位小数的正实数
    匹配的例子 2.22
    不匹配的例子 2.222,-2.22,http://blog.csdn.net/21aspnet

    只能输入m-n位小数的正实数

    表达式 ^[0-9]+(.[0-9]{m,n})?$以^[0-9]+(.[0-9]{1,2})?$为例
    描述 匹配m到n位小数的正实数
    匹配的例子 2.22,2.2
    不匹配的例子 2.222,-2.2222,http://blog.csdn.net/21aspnet

    只能输入非0的正整数

    表达式 ^\+?[1-9][0-9]*$
    描述 匹配非0的正整数
    匹配的例子 2,23,234
    不匹配的例子 0,-4,

    只能输入非0的负整数

    表达式 ^\-[1-9][0-9]*$
    描述 匹配非0的负整数
    匹配的例子 -2,-23,-234
    不匹配的例子 0,4,

    只能输入n个字符

    表达式 ^.{n}$ 以^.{4}$为例
    描述 匹配n个字符,注意汉字只算1个字符
    匹配的例子 1234,12we,123清,清清月儿
    不匹配的例子 0,123,123www,http://blog.csdn.net/21aspnet/

    只能输入英文字符

    表达式 ^.[A-Za-z]+$为例
    描述 匹配英文字符,大小写任意
    匹配的例子 Asp,WWW,
    不匹配的例子 0,123,123www,http://blog.csdn.net/21aspnet/

    只能输入大写英文字符

    表达式 ^.[A-Z]+$为例
    描述 匹配英文大写字符
    匹配的例子 NET,WWW,
    不匹配的例子 0,123,123www,

    只能输入小写英文字符

    表达式 ^.[a-z]+$为例
    描述 匹配英文大写字符
    匹配的例子 asp,csdn
    不匹配的例子 0,NET,WWW,

    只能输入英文字符+数字

    表达式 ^.[A-Za-z0-9]+$为例
    描述 匹配英文字符+数字
    匹配的例子 1Asp,W1W1W,
    不匹配的例子 0,123,123,www,http://blog.csdn.net/21aspnet/

    只能输入英文字符/数字/下划线

    表达式 ^\w+$为例
    描述 匹配英文字符或数字或下划线
    匹配的例子 1Asp,WWW,12,1_w
    不匹配的例子 3#,2-4,w#$,http://blog.csdn.net/21aspnet/

    密码举例

    表达式 ^.[a-zA-Z]\w{m,n}$
    描述 匹配英文字符开头的m-n位字符且只能数字字母或下划线
    匹配的例子
    不匹配的例子

    验证首字母大写
    表达式 \b[^\Wa-z0-9_][^\WA-Z0-9_]*\b
    描述 首字母只能大写
    匹配的例子 Asp,Net
    不匹配的例子 http://blog.csdn.net/21aspnet/

    验证网址(带?id=中文)VS.NET2005无此功能
    表达式

    ^http:\/\/([\w-]+(\.[\w-]+)+(\/[\w-   .\/\?%&=\u4e00-\u9fa5]*)?)?$

    描述 验证带?id=中文
    匹配的例子 http://blog.csdn.net/21aspnet/,
    http://blog.csdn.net?id=清清月儿
    不匹配的例子

    验证汉字
    表达式 ^[\u4e00-\u9fa5]{0,}$
    描述 只能汉字
    匹配的例子 清清月儿
    不匹配的例子 http://blog.csdn.net/21aspnet/

    验证QQ号
    表达式 [0-9]{5,9}
    描述 5-9位的QQ号
    匹配的例子 10000,123456
    不匹配的例子 10000w,http://blog.csdn.net/21aspnet/

    验证电子邮件(验证MSN号一样)
    表达式 \w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
    描述 注意MSN用非hotmail.com邮箱也可以
    匹配的例子 aaa@msn.com
    不匹配的例子 111@1.   http://blog.csdn.net/21aspnet/

    验证身份证号(粗验,最好服务器端调类库再细验证)
    表达式 ^[1-9]([0-9]{16}|[0-9]{13})[xX0-9]$
    描述  
    匹配的例子 15或者18位的身份证号,支持带X的
    不匹配的例子 http://blog.csdn.net/21aspnet/

    验证手机号(包含159,不包含小灵通)
    表达式 ^13[0-9]{1}[0-9]{8}|^15[9]{1}[0-9]{8}
    描述  包含159的手机号130-139
    匹配的例子 139XXXXXXXX
    不匹配的例子 140XXXXXXXX,http://blog.csdn.net/21aspnet/

    验证电话号码号(很复杂,VS.NET2005给的是错的)
    表达式(不完美 方案一  ((\(\d{3}\)|\d{3}-)|(\(\d{4}\)|\d{4}-))?(\d{8}|\d{7})
    方案二 (^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)    支持手机号但也不完美
    描述

    上海:02112345678    3+8位
    上海:021-12345678
    上海:(021)-12345678
    上海:(021)12345678
    郑州:03711234567     4+7位
    杭州:057112345678     4+8位
    还有带上分机号,国家码的情况
    由于情况非常复杂所以不建议前台做100%验证,到目前为止似乎也没有谁能写一个包含所有的类型,其实有很多情况本身就是矛盾的。
    如果谁有更好的验证电话的请留言

    匹配的例子
    不匹配的例子

    验证护照
    表达式

    (P\d{7})|G\d{8})

    描述 验证P+7个数字和G+8个数字
    匹配的例子
    不匹配的例子 清清月儿,http://blog.csdn.net/21aspnet/

    验证IP
    表达式

    ^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$

    描述 验证IP
    匹配的例子 192.168.0.1    222.234.1.4
    不匹配的例子

    验证域
    表达式

    ^[a-zA-Z0-9]+([a-zA-Z0-9\-\.]+)?\.(com|org|net|cn|com.cn|edu.cn|grv.cn|)$

    描述 验证域
    匹配的例子 csdn.net   baidu.com  it.com.cn
    不匹配的例子 192.168.0.1

    验证信用卡
    表达式

    ^((?:4\d{3})|(?:5[1-5]\d{2})|(?:6011)|(?:3[68]\d{2})|(?:30[012345]\d))[ -]?(\d{4})[ -]?(\d{4})[ -]?(\d{4}|3[4,7]\d{13})$

    描述 验证VISA卡,万事达卡,Discover卡,美国运通卡
    匹配的例子
    不匹配的例子  

    验证ISBN国际标准书号
    表达式

    ^(\d[- ]*){9}[\dxX]$

    描述 验证ISBN国际标准书号
    匹配的例子 7-111-19947-2
    不匹配的例子  

    验证GUID全球唯一标识符
    表达式

    ^[A-Z0-9]{8}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{12}$

    描述 格式8-4-4-4-12
    匹配的例子 2064d355-c0b9-41d8-9ef7-9d8b26524751
    不匹配的例子  

    验证文件路径和扩展名
    表达式

    ^([a-zA-Z]\:|\\)\\([^\\]+\\)*[^\/:*?"<>|]+\.txt(l)?$

    描述 检查路径和文件扩展名
    匹配的例子 E:\mo.txt
    不匹配的例子  E:\ , mo.doc, E:\mo.doc ,http://blog.csdn.net/21aspnet/

    验证Html颜色值
    表达式

    ^#?([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?$

    描述 检查颜色取值
    匹配的例子 #FF0000
    不匹配的例子  http://blog.csdn.net/21aspnet/

    发表于 @ 2007年04月15日 23:49:00|评论(loading...)|编辑

    新一篇: .NET2.0抓取网页全部链接【月儿原创】 | 旧一篇: ASP.NET2.0 文本编辑器FCKeditor的冰冷之心 【月儿原创】

    评论

    #anison 发表于2007-04-16 01:52:27  IP: 221.234.206.*
    托您的福 已学会 谢谢
    #IT_zen 发表于2007-04-16 10:42:24  IP: 218.249.20.*
    收藏
    #lifesinger 发表于2007-04-16 12:18:13  IP: 124.16.139.*
    掌握基本的正则语法,灵活运用即可
    楼主这种帖子,会让新手以为正则就是查范例,实在没什么意义

    建议楼主删除,要写东西,就写点真正值得写的
    #icefeiji 发表于2007-04-16 12:34:57  IP: 211.136.181.*
    说实话,楼上说的十分正确!
    #初学者 发表于2007-04-16 12:53:12  IP: 222.70.91.*
    其实常用的也就这些,毕竟都是经典的值得推敲的,很多东西拿来会用就可以,自己写不一定写的好还有可能浪费时间。这些都是论坛里问的最多的,赚钱才是硬道理啊。不要形而上学。
    #lu_zi 发表于2007-04-16 15:01:33  IP: 61.135.170.*
    魔兽爱好者?
    #121 发表于2007-04-16 16:42:56  IP: 219.140.37.*
    怎么弄得和魔兽世界的装备似的
    #Eric 发表于2007-04-16 16:59:08  IP: 205.243.112.*
    回贴是因为我也是WOW FAN
    #冷眼旁观 发表于2007-04-16 17:00:40  IP: 58.25.216.*
    让用户高度依赖ms离开ms的开发工具和平台就活不下去了,这不正是ms想要的结果吗?
    #Love_My 发表于2007-04-16 18:46:15  IP: 61.144.114.*
    正则不只是M$才有吧?
    哎.. 我正则不过关啊..
    #mq0211 发表于2007-04-17 10:28:25  IP: 192.168.1.*
    感谢,转贴到自己的blog
    #ismezy2002 发表于2007-04-17 11:07:19  IP: 211.162.234.*
    第一行为什么不用橙色的字,而且最好加个逗号
    #daoke.net 发表于2007-04-17 13:30:08  IP: 218.4.153.*
    非常感谢。。。。
    #sdtsfhh 发表于2007-04-17 14:19:41  IP: 221.8.56.*
    恩.厉害
    #KimmKing 发表于2007-04-17 21:51:43  IP: 210.82.30.*
    传说中的圣骑士??
    #美好一天 发表于2007-04-22 08:13:11  IP: 222.174.46.*
    我自己感觉,学习新的东西最快的方法就是首先会模仿会用,然后在理解其中的深意。我觉的是快捷的学习方法。
    #ppei002 发表于2007-04-24 13:13:21  IP: 202.96.184.*
    如果再加上基本的正则语法,那就是完美了
    #GoldBaby 发表于2007-04-24 15:40:55  IP: 124.64.31.*
    谢谢!!!
    #良 发表于2007-04-25 14:08:20  IP: 60.63.169.*
    楼上几位牛人什么时候也弄点东西给我们这些菜叶上的虫看看?
    #FullFlower123 发表于2007-04-28 21:41:36  IP: 221.232.90.*
    不错呀
    #bearhunter 发表于2007-05-19 18:59:08  IP: 125.115.13.*
    好啊
    #阿祖 发表于2007-05-22 20:53:25  IP: 60.190.227.*
    验证文件路径的这个
    ^([a-zA-Z]\:|\\)\\([^\\]+\\)*[^\/:*?"<>|]+\.txt(l)?$
    好像在.net 2003里搞不定呀.
    #zjneter 发表于2007-10-27 12:52:41  IP: 221.221.152.*
    兄台: 只能输入某个区间数字 那个不对啊!
    ^[12-15]$ 是不对的啊
    请验证
    #zjneter 发表于2007-10-27 12:58:02  IP: 221.221.152.*
    只能输入0和非0打头的数字 也不对啊 能匹配01
    ^(0|[1-9][0-9]*)$
    #zjneter 发表于2007-10-27 13:00:36  IP: 221.221.152.*
    只能输入0和非0打头的数字
    这个 这么写就对了:^([1-9][0-9]*|0)$
    #zjneter 发表于2007-10-27 13:02:00  IP: 221.221.152.*
    ^(0*|[1-9][0-9]*)$ 上面那个 还可以这么写

    ----兄弟 你的文章很好 能不能测试一下每一个 然后改改呢
    谢谢啦
    #JiangKunJian 发表于2007-12-11 14:44:35  IP: 218.6.238.*
    我认为应该写点基础知识就好了,这样子只能用,自已又写不来
    #pro717 发表于2008-06-13 19:09:51  IP: 122.224.166.*
    紫装呀,,,,赞,,,物品等级多少?
    #goy630098588 发表于2008-06-25 00:44:32  IP: 221.238.131.*
    不知道那个傻逼搞的网站网页都不能保存了
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © 清清月儿