来源:自学PHP网 时间:2014-10-28 17:28 作者: 阅读:次
[导读] 正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多程序设计语言都支持利用正则表达式进行字符串操作...
一、正则表达式概念: 二、正则表达式的使用: 正则表达式在ASP.NET中主要是用来对输入的内容进行验证,验证一般分为两种一种是客户端JS验证,另一种是服务器端验证 1、JS对输入内容验证 复制代码 代码如下: function check() { var match = /^\d$/; var val = $("#txt").val(); if (match.test(val)) { alert("测试通过"); } else { alert("测试不通过"); } } 2、C#进行验证格式 复制代码 代码如下: protected void Button1_Click(object sender, EventArgs e) { string pattern = @"\d"; if (System.Text.RegularExpressions.Regex.IsMatch(this.TextBox1.Text, pattern)) { ClientScript.RegisterClientScriptBlock(GetType(), "", "alert('验证成功!')", true); } else { ClientScript.RegisterClientScriptBlock(GetType(), "", "alert('验证不成功!')", true); } } 三、正则表达式规则 ^:匹配输入字符串的开始位置。 $:匹配输入字符串的结束位置。 *:匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。 * 等价于{0,}。 +:匹配前面的子表达式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配"z"。+ 等价于 {1,}。 ?:匹配前面的子表达式零次或一次。例如,"do(es)?" 可以匹配 "do" 或 "does" 中的"do" 。? 等价于 {0,1}。 {n}:n 是一个非负整数。匹配确定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的两个 o。 {n,}:n 是一个非负整数。至少匹配n 次。例如,'o{2,}' 不能匹配 "Bob" 中的 'o',但能匹配 "foooood" 中的所有 o。'o{1,}' 等价于 'o+'。'o{0,}' 则等价于 'o*'。 {n,m}:m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。刘, "o{1,3}"将匹配 "fooooood" 中的前三个 o。'o{0,1}' 等价于'o?'。请注意在逗号和两个数之间不能有空格。 ?:当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串 "oooo",'o+?' 将匹配单个 "o",而'o+' 将匹配所有 'o'。 x|y:匹配 x 或 y。例如,'z|food' 能匹配 "z" 或 "food"。'(z|f)ood' 则匹配 "zood"或 "food"。这一条比较重要 [xyz]:字符集合。匹配所包含的任意一个字符。例如, '[abc]' 可以匹配 "plain" 中的'a'。 [^xyz]:负值字符集合。匹配未包含的任意字符。例如, '[^abc]' 可以匹配 "plain" 中的'p'。 [a-z]:字符范围。匹配指定范围内的任意字符。例如,'[a-z]' 可以匹配 'a' 到 'z' 范围内的任意小写字母字符。 [^a-z]:负值字符范围。匹配任何不在指定范围内的任意字符。例如,'[^a-z]' 可以匹配任何不在 'a' 到 'z' 范围内的任意字符。 \b:匹配一个单词边界,也就是指单词和空格间的位置。例如, 'er\b' 可以匹配"never"中的 'er',但不能匹配 "verb" 中的 'er'。 \B:匹配非单词边界。'er\B' 能匹配 "verb" 中的 'er',但不能匹配 "never" 中的'er'。 \cx:匹配由x指明的控制字符。例如, \cM 匹配一个 Control-M 或回车符。 x 的值必须为A-Z 或 a-z 之一。否则,将 c 视为一个原义的 'c' 字符。 \d:匹配一个数字字符。等价于 [0-9]。 \D:匹配一个非数字字符。等价于 [^0-9]。 \f:匹配一个换页符。等价于 \x0c 和 \cL。 \n:匹配一个换行符。等价于 \x0a 和 \cJ。 \r:匹配一个回车符。等价于 \x0d 和 \cM。 \num:匹配 num,其中 num 是一个正整数。对所获取的匹配的引用。例如,'(.)\1' 匹配两个连续的相同字符。 \n:标识一个八进制转义值或一个后向引用。如果 \n 之前至少 n 个获取的子表达式,则n 为后向引用。否则,如果 n 为八进制数字 (0-7),则 n 为一个八进制转义值。 网上搜到的一些验证 邮箱:^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$ 电话或手机:^189\d{8}$)|(^13\d{9}$)|(^15\d{9}$)|(^\d{8}$)|(^0574-\d{8}$ "^\d+$" //非负整数(正整数 + 0) /^13\d{9}$/gi手机号正则表达式 正则表达式规则看起来挺复杂,只要耐心发现其中的规律,整合一下经常用到的,工作起来就会事半功倍。 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com