C#正则表达式小结

简介:

C#正则表达式小结    
None.gif只能输入数字:"^[0-9]*$"。
None.gif只能输入n位的数字:"^\d{n}$"。
None.gif只能输入至少n位的数字:"^\d{n,}$"。
None.gif只能输入m~n位的数字:。"^\d{m,n}$"
None.gif只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。
None.gif只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"。
None.gif只能输入有1~3位小数的正实数:"^[0-9]+(.[0-9]{1,3})?$"。
None.gif只能输入非零的正整数:"^\+?[1-9][0-9]*$"。
None.gif只能输入非零的负整数:"^\-[1-9][]0-9"*$。
None.gif只能输入长度为3的字符:"^.{3}$"。
None.gif只能输入由26个英文字母组成的字符串:"^[A-Za-z]+$"。
None.gif只能输入由26个大写英文字母组成的字符串:"^[A-Z]+$"。
None.gif只能输入由26个小写英文字母组成的字符串:"^[a-z]+$"。
None.gif只能输入由数字和26个英文字母组成的字符串:"^[A-Za-z0-9]+$"。
None.gif只能输入由数字、26个英文字母或者下划线组成的字符串:"^\w+$"。
None.gif只能输入由数字、26个英文字母或者下划线,中文组成的字符串:^\\w+$
None.gif验证用户密码:"^[a-zA-Z]\w{5,17}$"正确格式为:以字母开头,长度在6~18之间,只能包含字符、数字和下划线。
None.gif验证是否含有^%&',;=?$\"等字符:"[^%&',;=?$\x22]+"。
None.gif只能输入汉字:"^[\u4e00-\u9fa5]{0,}$"
None.gif验证Email地址:"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"。
None.gif验证InternetURL:"^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"。
None.gif验证电话号码:"^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$"正确格式为:"XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX"。
None.gif验证***号(15位或18位数字):"^\d{15}|\d{18}$"。
None.gif验证一年的12个月:"^(0?[1-9]|1[0-2])$"正确格式为:"01"~"09"和"1"~"12"。
None.gif验证一个月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正确格式为;"01"~"09"和"1"~"31"。 
None.gif
None.gif利用正则表达式限制网页表单里的文本框输入内容:
None.gif
None.gif用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"
None.gif
None.gif用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))"
None.gif
None.gif用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
None.gif
None.gif用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
None.gif
None.gif得用正则表达式从URL地址中提取文件名的javascript程序,如下结果为page1
None.gif
None.gifs="http://www.9499.net/page1.htm"
ExpandedBlockStart.gifs=s.replace(/(.*\/)
{0,}([^\.]+).*/ig,"$2")
None.gifalert(s)
None.gif
None.gif
None.gif匹配双字节字符(包括汉字在内):[^\x00-\xff]
None.gif
None.gif应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
None.gif
ExpandedBlockStart.gifString.prototype.len=function()
{return this.replace([^\x00-\xff]/g,"aa").length;}
None.gif
None.gif匹配空行的正则表达式:\n[\s| ]*\r
None.gif
None.gif匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/ 
None.gif
None.gif匹配首尾空格的正则表达式:(^\s*)|(\s*$)
None.gif
None.gif
None.gifString.prototype.trim = function()
ExpandedBlockStart.gif
{
InBlock.gif
return this.replace(/(^\s*)|(\s*$)/g, "");
ExpandedBlockEnd.gif}

None.gif
None.gif利用正则表达式分解和转换IP地址:
None.gif
None.gif下面是利用正则表达式匹配IP地址,并将IP地址转换成对应数值的javascript程序:
None.gif
None.giffunction IP2V(ip)
ExpandedBlockStart.gif
{
InBlock.gifre=/(\d+)\.(\d+)\.(\d+)\.(\d+)/g 
//匹配IP地址的正则表达式
InBlock.gif
if(re.test(ip))
ExpandedSubBlockStart.gif
{
InBlock.gif
return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1
ExpandedSubBlockEnd.gif}

InBlock.gif
else
ExpandedSubBlockStart.gif
{
InBlock.gif
throw new Error("Not a valid IP address!")
ExpandedSubBlockEnd.gif}

ExpandedBlockEnd.gif}

None.gif
None.gif不过上面的程序如果不用正则表达式,而直接用split函数来分解可能更简单,程序如下:
None.gif
None.gifvar ip="10.100.20.168"
None.gifip=ip.split(".")
None.gifalert("IP值是:"+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1))




总结二:

电子邮箱:^\w+([-+.]\w+)*@\w+([-.]\\w+)*\.\w+([-.]\w+)*$

手机号码:^(1[3|4|5|8])(\d){9}$

电话号码:^([0-9]{4}-[0-9]{8})|([0-9]{3}-[0-9]{8})|([0-9]{4}-[0-9]{7})$

手机号码或电话号码:(^([0-9]{4}-[0-9]{8})|([0-9]{3}-[0-9]{8})|([0-9]{4}-[0-9]{7})$)|(^(1[3|4|5|8])(\d){9}$)

QQ:^\d{5,10}$

***号码:(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)

金额:^\d+(\.\d+)?$

数字:^\+?[0-9][0-9]{0,9}$

整数:^[-\+]?\d+$

正整数:^[1-9]\d*$

负整数:^-[1-9]\d*$

非负整数:^[\+]?\d+$

日期:

^(?:(?!0000)[0-9]{4}([-/.]?)(?:(?:0?[1-9]|1[0-2])([-/.]?)(?:0?[1-9]|1[0-9]|2[0-8])|(?:0?[13-9]|1[0-2])([-/.]?)(?:29|30)|(?:0?[13578]|1[02])([-/.]?)31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)([-/.]?)0?2([-/.]?)29)$

日期时间:

^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)\s+([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$

中文:[一-龥]*

英文:[a-zA-Z]*

url地址:^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$

安全字符:([A-Za-z0-9]|(-|_|\~|\!|\@|\#|\$|\%|\^|\&|\*|\.|\(|\)|\[|\]|\\|\{|\}|\<|\>|\?|\/|\"|\.))*

长度:.{0,250}





正则具体使用:

            var email = $("#Emailcode").val();//要验证的输入文本


            var te =/^\w+([-+.]\w+)*@\w+([-.]\\w+)*\.\w+([-.]\w+)*$/;   //正则

            if (te.test(email)) {

    //正确!


                });

            } else {

            //不正确!

            }

本文转自程序猿博客51CTO博客,原文链接http://blog.51cto.com/haihuiwei/1585191如需转载请自行联系原作者

365850153
相关文章
|
10月前
|
开发框架 .NET C#
ASP.Net c# 正则表达式 子表达式 group
ASP.Net c# 正则表达式 子表达式 group
56 0
|
3天前
|
前端开发 C#
C# 一分钟浅谈:字符串操作与正则表达式
本文详细介绍C#中的字符串操作与正则表达式应用,涵盖字符串拼接、分割、查找及替换等基础操作,并通过实例讲解正则表达式的模式匹配、文本替换与分组捕获技巧。同时,文章还探讨了性能优化、复杂度管理和安全性等问题及解决策略,助你提升编程效率,应对实际开发挑战。
24 0
|
11月前
|
C# C++
C++ 利于宏模拟C#的正则表达式
C++ 利于宏模拟C#的正则表达式
C#编程-88:正则表达式拆分
C#编程-88:正则表达式拆分
C#编程-88:正则表达式拆分
C#编程-87:正则表达式替换
C#编程-87:正则表达式替换
C#编程-87:正则表达式替换
C#编程-86:正则表达式查找
C#编程-86:正则表达式查找
C#编程-86:正则表达式查找
C#编程-85:正则表达式语法复习
C#编程-85:正则表达式语法复习
C#编程-85:正则表达式语法复习
C#编程:正则表达式符号说明-7
C#编程:正则表达式符号说明-7
101 0
|
编译器 C# C++
☀️ 学会编程入门必备 C# 最基础知识介绍(六)——接口、命名空间、预处理指令、正则表达式、异常处理、文件的输入与输出
前言👻 接口(interface)🎉 定义接口: MyInterface.cs 接口继承: InterfaceInheritance.cs C# 命名空间(Namespace)🎈 定义命名空间 using 关键字 嵌套命名空间 C# 预处理器指令🎄 C# 预处理器指令列表 #define 预处理器 条件指令 C# 正则表达式🔔 定义正则表达式 C# 异常处理🎃 语法 C# 中的异常类 异常处理 创建用户自定义异常 抛出对象 C# 文件的输入与输出⛄️ C# I/O 类 FileStream 类 C# 高级文件操作
☀️ 学会编程入门必备 C# 最基础知识介绍(六)——接口、命名空间、预处理指令、正则表达式、异常处理、文件的输入与输出
C#编程-88:正则表达式拆分
C#编程-88:正则表达式拆分
138 0
C#编程-88:正则表达式拆分