验证数字:
只能输入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.youkuaiyun.com/21aspnet

只能输入某个区间数字

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


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

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

只能输入英文字符

表达式
^
.[A
-
Za
-
z]
+
$为例
描述 匹配英文字符,大小写任意
匹配的例子 Asp,WWW,
不匹配的例子
0
,
123
,123www,http:
//
blog.youkuaiyun.com/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.youkuaiyun.com/21aspnet/

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

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

密码举例


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


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

验证网址(带
?
id
=
中文)VS.NET2005无此功能
表达式
^
http:\
/
\
/
([\w
-
]
+
(\.[\w
-
]
+
)
+
(\
/
[\w
-
.\
/
\
?%&=
\u4e00
-
\u9fa5]
*
)
?
)
?
$
描述 验证带
?
id
=
中文
匹配的例子 http:
//
blog.youkuaiyun.com/21aspnet/,
http:
//
blog.youkuaiyun.com?id=清清月儿
不匹配的例子


验证汉字

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

验证QQ号

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

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

验证身份证号(粗验,最好服务器端调类库再细验证)

表达式
^
[
1
-
9
]([
0
-
9
]
{16}
|
[
0
-
9
]
{13}
)[xX0
-
9
]$
描述
匹配的例子 15或者18位的身份证号,支持带X的
不匹配的例子 http:
//
blog.youkuaiyun.com/21aspnet/

验证手机号(包含159,不包含小灵通)

表达式
^
13
[
0
-
9
]
{1}
[
0
-
9
]
{8}
|^
15
[
9
]
{1}
[
0
-
9
]
{8}
描述 包含159的手机号130
-
139
匹配的例子 139XXXXXXXX
不匹配的例子 140XXXXXXXX,http:
//
blog.youkuaiyun.com/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.youkuaiyun.com/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
|
)$
描述 验证域
匹配的例子 youkuaiyun.com 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.youkuaiyun.com/21aspnet/

验证Html颜色值

表达式
^
#
?
([a
-
f]
|
[A
-
F]
|
[
0
-
9
])
{3}
(([a
-
f]
|
[A
-
F]
|
[
0
-
9
])
{3}
)
?
$
描述 检查颜色取值
匹配的例子 #FF0000
不匹配的例子 http:
//
blog.youkuaiyun.com/21aspnet/
"
^\d+$
"
//
非负整数(正整数 + 0)
"
^[0-9]*[1-9][0-9]*$
"
//
正整数
"
^((-\d+)|(0+))$
"
//
非正整数(负整数 + 0)
"
^-[0-9]*[1-9][0-9]*$
"
//
负整数
"
^-?\d+$
"
//
整数
"
^\d+(\.\d+)?$
"
//
非负浮点数(正浮点数 + 0)
"
^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
"
//
正浮点数
"
^((-\d+(\.\d+)?)|(0+(\.0+)?))$
"
//
非正浮点数(负浮点数 + 0)
"
^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
"
//
负浮点数
"
^(-?\d+)(\.\d+)?$
"
//
浮点数
"
^[A-Za-z]+$
"
//
由26个英文字母组成的字符串
"
^[A-Z]+$
"
//
由26个英文字母的大写组成的字符串
"
^[a-z]+$
"
//
由26个英文字母的小写组成的字符串
"
^[A-Za-z0-9]+$
"
//
由数字和26个英文字母组成的字符串
"
^\w+$
"
//
由数字、26个英文字母或者下划线组成的字符串
"
^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$
"
//
email地址
"
^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$
"
//
url

/^
(d
{2}
|
d
{4}
)
-
((
0
([
1
-
9
]
{1}
))
|
(
1
[
1
|
2
]))
-
(([
0
-
2
]([
1
-
9
]
{1}
))
|
(
3
[
0
|
1
]))$
/
//
年-月-日

/^
((
0
([
1
-
9
]
{1}
))
|
(
1
[
1
|
2
]))
/
(([
0
-
2
]([
1
-
9
]
{1}
))
|
(
3
[
0
|
1
]))
/
(d
{2}
|
d
{4}
)$
/
//
月/日/年
"
^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$
"
//
Emil
"
(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?
"
//
电话号码
"
^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$
"
//
IP地址
YYYY
-
MM
-
DD基本上把闰年和2月等的情况都考虑进去了

^
((((
1
[
6
-
9
]
|
[
2
-
9
]\d)\d
{2}
)
-
(
0
?
[
13578
]
|
1
[
02
])
-
(
0
?
[
1
-
9
]
|
[
12
]\d
|
3
[
01
]))
|
(((
1
[
6
-
9
]
|
[
2
-
9
]\d)\d
{2}
)
-
(
0
?
[
13456789
]
|
1
[
012
])
-
(
0
?
[
1
-
9
]
|
[
12
]\d
|
30
))
|
(((
1
[
6
-
9
]
|
[
2
-
9
]\d)\d
{2}
)
-
0
?
2
-
(
0
?
[
1
-
9
]
|
1
\d
|
2
[
0
-
8
]))
|
(((
1
[
6
-
9
]
|
[
2
-
9
]\d)(
0
[
48
]
|
[
2468
][
048
]
|
[
13579
][
26
])
|
((
16
|
[
2468
][
048
]
|
[
3579
][
26
])
00
))
-
0
?
2
-
29
-
))$

"
^\d+$
"
//
非负整数(正整数 + 0)
"
^[0-9]*[1-9][0-9]*$
"
//
正整数
"
^((-\d+)|(0+))$
"
//
非正整数(负整数 + 0)
"
^-[0-9]*[1-9][0-9]*$
"
//
负整数
"
^-?\d+$
"
//
整数
"
^\d+(\.\d+)?$
"
//
非负浮点数(正浮点数 + 0)
"
^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
"
//
正浮点数
"
^((-\d+(\.\d+)?)|(0+(\.0+)?))$
"
//
非正浮点数(负浮点数 + 0)
"
^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
"
//
负浮点数
"
^(-?\d+)(\.\d+)?$
"
//
浮点数
"
^[A-Za-z]+$
"
//
由26个英文字母组成的字符串
"
^[A-Z]+$
"
//
由26个英文字母的大写组成的字符串
"
^[a-z]+$
"
//
由26个英文字母的小写组成的字符串
"
^[A-Za-z0-9]+$
"
//
由数字和26个英文字母组成的字符串
"
^\w+$
"
//
由数字、26个英文字母或者下划线组成的字符串
"
^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$
"
//
email地址
"
^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$
"



using
System;
using
System.Text.RegularExpressions;
namespace
CommonTools

{

/**//**//**//// <summary>
/// RegexLib 的摘要说明。
/// </summary>
public class RegexLib

{
//验证Email地址
public static bool IsValidEmail(string strIn)

{
// Return true if strIn is in valid e-mail format.
return Regex.IsMatch(strIn, @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$");
}
//dd-mm-yy 的日期形式代替 mm/dd/yy 的日期形式。
public static string MDYToDMY(String input)

{
return Regex.Replace(input,"\\b(?\\d{1,2})/(?\\d{1,2})/(?\\d{2,4})\\b","${day}-${month}-${year}");
}
//验证是否为小数
public static bool IsValidDecimal(string strIn)

{
return Regex.IsMatch(strIn,@"[0].\d{1,2}|[1]");
}
//验证是否为电话号码
public static bool IsValidTel(string strIn)

{
return Regex.IsMatch(strIn,@"(\d+-)?(\d{4}-?\d{7}|\d{3}-?\d{8}|^\d{7,8})(-\d+)?");
}
//验证年月日
public static bool IsValidDate(string strIn)

{
return Regex.IsMatch(strIn,@"^2\d{3}-(?:0?[1-9]|1[0-2])-(?:0?[1-9]|[1-2]\d|3[0-1])(?:0?[1-9]|1\d|2[0-3]):(?:0?[1-9]|[1-5]\d):(?:0?[1-9]|[1-5]\d)$");
}
//验证后缀名
public static bool IsValidPostfix(string strIn)

{
return Regex.IsMatch(strIn,@"\.(?i:gif|jpg)$");
}
//验证字符是否再4至12之间
public static bool IsValidByte(string strIn)

{
return Regex.IsMatch(strIn,@"^[a-z]{4,12}$");
}
//验证IP
public static bool IsValidIp(string strIn)

{
return Regex.IsMatch(strIn,@"^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$");
}
}
}
Regular Expressions (1) ---- What is Regular Expressions?
Regular Expressions (2) ---- Common Used Samples
Regular Expressions (3) ---- Using Regex in .NET
转载于:https://www.cnblogs.com/RuiLei/archive/2007/06/28/799466.html