正则表达式 验证Email

验证 电子邮件 Email

            System.String ex = @"^[\w-]+@([\w-]+\.)+[\w-]+"; 
            System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(ex);
            bool flag = reg.IsMatch(this.txtEmail.Text.Trim());

验证输入字符是否全部为英文字符

System.String ex = @"^\w+$";

System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex( ex );

bool flag = reg.IsMatch( str );

正则表达式

限定符 说明
* 指定零个或更多个匹配;例如 \w* 或 (abc)*。等效于 {0,}。
+ 指定一个或多个匹配;例如 \w+ 或 (abc)+。等效于 {1,}。
? 指定零个或一个匹配;例如 \w? 或 (abc)?。等效于 {0,1}。
{n} 指定恰好 n 个匹配;例如 (pizza){2}。
{n,} 指定至少 n 个匹配;例如 (abc){2,}。
{n,m} 指定至少 n 个但不多于 m 个匹配。
*? 指定尽可能少地使用重复的第一个匹配(等效于 lazy *)。
+? 指定尽可能少地使用重复但至少使用一次(等效于 lazy +)。
?? 指定使用零次重复(如有可能)或一次重复 (lazy ?)。
{n}? 等效于 {n} (lazy {n})。
{n,}? 指定尽可能少地使用重复但至少使用 n 次 (lazy {n,})。
{n,m}? 指定介于 n 次和 m 次之间、尽可能少地使用重复 (lazy {n,m})。

字符转义
大多数重要的正则表达式语言运算符都是非转义的单个字符。转义符 \(单个反斜杠)通知正则表达式分析器反斜杠后面的字符不是运算符。例如,分析器将星号 (*) 视为重复限定符,而将后跟星号的反斜杠 (\*) 视为 Unicode 字符 002A。

下表中列出的字符转义在正则表达式和替换模式中都会被识别。

转义符 说明
一般字符 除 . $ ^ { [ ( | ) * + ? \ 外,其他字符与自身匹配。
\a 与响铃(警报)\u0007 匹配。
\b 如果在 [] 字符类中,则与退格符 \u0008 匹配;如果不是这种情况,请参见本表后面的“注意”部分。
\t 与 Tab 符 \u0009 匹配。
\r 与回车符 \u000D 匹配。
\v 与垂直 Tab 符 \u000B 匹配。
\f 与换页符 \u000C 匹配。
\n 与换行符 \u000A 匹配。
\e 与 Esc 符 \u001B 匹配。
\040 将 ASCII 字符匹配为八进制数(最多三位);如果没有前导零的数字只有一位数或者与捕获组号相对应,则该数字为后向引用。(有关详细信息,请参见反向引用。)例如,字符 \040 表示空格。
\x20 使用十六进制表示形式(恰好两位)与 ASCII 字符匹配。
\cC 与 ASCII 控制字符匹配;例如,\cC 为 Ctrl-C。
\u0020 使用十六进制表示形式(恰好四位)与 Unicode 字符匹配。
\ 在后面带有不识别为转义符的字符时,与该字符匹配。例如,\* 与 \x2A 相同。

注意 转义字符 \b 是一个特例。在正则表达式中,\b 表示单词边界(\w 和 \W 之间的字符);不过,在 [] 字符类中,\b 表示退格符。在替换模式中,\b 始终表示退格符。

字符类
字符类是一个字符集,如果字符集中的任何一个字符有匹配,它就会找到该匹配项。下表总结了字符匹配语法。

字符类 说明
. 与除 \n 之外的任何字符匹配。如果已用 Singleline 选项做过修改,则句点字符将与任何字符匹配。有关详细信息,请参见正则表达式选项。
[aeiou] 与指定字符集中包含的任何单个字符匹配。
[^aeiou] 与不在指定字符集中的任何单个字符匹配。
[0-9a-fA-F] 使用连字号 (–) 允许指定连续字符范围。
\p{name} 与 {name} 指定的命名字符类中的任何字符匹配。支持的名称为 Unicode 组和块范围。例如,Ll、Nd、Z、IsGreek、IsBoxDrawing。
\P{name} 与在 {name} 中指定的组和块范围中未包含的文本匹配。
\w 与任何单词字符匹配。等效于 Unicode 字符类别 [\p{Ll}\p{Lu}\p{Lt}\p{Lo}\p{Nd}\p{Pc}]。如果用 ECMAScript 选项指定了符合 ECMAScript 的行为,则 \w 等效于 [a-zA-Z_0-9]。
\W 与任何非单词字符匹配。等效于 Unicode 类别 [^\p{Ll}\p{Lu}\p{Lt}\p{Lo}\p{Nd}\p{Pc}]。如果用 ECMAScript 选项指定了符合 ECMAScript 的行为,则 \W 等效于 [^a-zA-Z_0-9]。
\s 与任何空白字符匹配。等效于 Unicode 字符类别 [\f\n\r\t\v\x85\p{Z}]。如果用 ECMAScript 选项指定了符合 ECMAScript 的行为,则 \s 等效于 [ \f\n\r\t\v]。
\S 与任何非空白字符匹配。等效于 Unicode 字符类别 [^\f\n\r\t\v\x85\p{Z}]。如果用 ECMAScript 选项指定了符合 ECMAScript 的行为,则 \S 等效于 [^ \f\n\r\t\v]。
\d 与任何十进制数字匹配。等效于 \p{Nd}(对于 Unicode 类别)和 [0-9](对于非 Unicode 类别)ECMAScript 行为。
\D 与任何非数字匹配。等效于 \P{Nd}(对于 Unicode 类别)和 [^0-9](对于非 Unicode 类别)ECMAScript 行为。

可以使用 GetUnicodeCategory 方法找到某个字符所属的 Unicode 类别。

正则表达式示例
^\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

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值