Java-PHP-C#

所需积分/C币:11 2012-11-27 15:13:36 535KB PDF
16
收藏 收藏
举报

"^The": 匹配以 "The"开头的字符串; "of despair$": 匹配以 "of despair" 结尾的字符串; "^abc$": 匹配以abc开头和以abc结尾的字符串,实际上是只有abc与之匹配 "notice": 匹配包含notice的字符串 你可以看见如果你没有用我们提到的两个字符(最后一个例子),就是说 模式(正则表达式) 可以出现在被检验字符串的任何地方,你没有把他锁定到两边 这里还有几个字符 '*', '+',和 '?', 他们用来表示一个字符可以出现的次数或者顺序. 他们分别表示:"zero or more", "one or more", and "zero or one." 这里是一些例子: "ab*": 匹配字符串a和0个或者更多b组成的字符串("a", "ab", "abbb", etc.); "ab+": 和上面一样,但最少有一个b ("ab", "abbb", etc.); "ab?":匹配0个或者一个b; "a?b+$": 匹配以一个或者0个a再加上一个以上的b结尾的字符串. 你也可以在大括号里面限制字符出现的个数,比如 "ab{2}": 匹配一个a后面跟两个b(一个也不能少)("abb"); "ab{2,}": 最少更两个b("abb", "abbbb", etc.); "ab{3,5}": 2-5个b("abbb", "abbbb", or "abbbbb"). 你还要注意到你必须总是指定 (i.e, "{0,2}", not "{,2}").同样,你必须注意到, '*', '+', 和'?' 分别和一下三个范围标注是一样的,"{0,}", "{1,}", 和 "{0,1}"。 现在把一定数量的字符放到小括号里,比如: "a(bc)*": 匹配 a 后面跟0个或者一个"bc"; "a(bc){1,5}": 一个到5个 "bc." 还有一个字符 '│', 相当于OR 操作: "hi│hello": 匹配含有"hi" 或者 "hello" 的 字符串; "(b│cd)ef": 匹配含有 "bef" 或者 "cdef"的字符串; "(a│b)*c": 匹配含有这样 - 多个(包括0个)a或b,后面跟一个c 的字符串 的字符串; 一个点('.')可以代表所有的 单一字符: "a.[0-9]": 一个a跟一个字符再跟一个数字的 (含有这样一个字符串的字符串将被匹配,以后省略此括号) "^.{3}$": 以三个字符结尾 . 中括号括住的内容只匹配一个 单一的字符 "[ab]": 匹配单个的 a 或者 b ( 和 "a│b" 一样); "[a-d]": 匹配'a' 到'd'的单个字符 (和"a│b│c│d" 还有 "[abcd]"效果一样); "^[a-zA-Z]": 匹配以字母开头的字符串 "[0-9]%": 匹配含有 形如 x% 的字符串 ",[a-zA-Z0-9]$": 匹配以逗号在加一个数字或字母结尾的字符串 你也可以把你不想要得字符列在中括号里,你只需要在总括号里面使用'^' 作为开头 (i.e., "%[^a-zA-Z]%" 匹配含有 两个百分号里面有一个非字母 的字符串). 为了能够解释,但"^.[$()│*+?{\"作为有特殊意义的字符的时候,你必须在这些字符面前加'', 还有在php3中你应该避免在模式的最前面使用\, 比如说,正则表达式 "(\$│?[0-9]+" 应该这样调用 ereg("(\\$│?[0-9]+", $str) (不知道php4是不是一样) 不要忘记在中括号里面的字符是这条规路的例外—在中括号里面, 所有的特殊字符,包括(''), 都将失去他们的特殊性质(i.e., "[*\+?{}.]"匹配含有这些字符的字符串). 还有,正如regx的手册告诉我们: "如果列表里含有 ']', 最好把它作为列表里的第一个字符(可能跟在'^'后面). 如果含有'-', 最好把它放在最前面或者最后面, or 或者一个范围的第二个结束点(i.e. [a-d-0-9]中间的‘-’将有效. 为了完整, 我应该涉及到 collating sequences, character classes, 同埋 equivalence classes. 但我在这些方面不想讲的太详细, 这些在下面的文章仲都不需要涉及到. 你们可以在regex man pages 那里得到更多消息. 如何构建一个模式来匹配 货币数量 的输入 好了,现在我们要用我们所学的来干一些有用的事:构建一个匹配模式去检查输入的信息是否为一个表示money的数字。我们认为一个表示mo
匹配网址URL的正则表达式:htp:(w]+)+w-]([w-./?9&=]*)? (1)应用:计算字符申的长度(一个双字节字符长度计2,ASCI字符计1) String prototype. len-lunctiono return this replace([ x00-xlrg, aa").length (2)应用: Javascript中没有像 vbscript那样的trim函数,我们就可以利用这个表达式来 实现 String prototype trim=function return this replace((S )(s*S)ig, (3)应用:利用正则表达式分解和转换P地址 function ip2vip)/P地址转换成对应数值 re=/(d+)、d+).(d+)(d)g/匹配P地址的止则表达式 if(re test(ip)) return RegExp.$1*Math. pow (255, 3))+RcgExp $ 2*Math pow(255, 2))+Rcg Exp S3* 255+RcgExp $4 else throw new Error(" Nol a valid iP address! " (4)应用:从URL地址中提取文件名的 Javascript程序 s="http:/www.9499.net/pagel.htm" s-s replace(/(. /10, 3(.+). /ig, $2); //Pagel.hum (5)应用:利用正则表达式限制网页表单里的文本框输入内容 用正则表达式限制只能输入中文: onkeyup=" value= value. replace([^u4E00-u9FA5]g,") onbeforepaste="clipboardData.setDataf'text", clipboardData, get Data(text ) replace(/['u4E00-u9 FA5]g, ) 用正则表达式限制只能输入全角字符: p=value-value. replace([uFF00-uFFFFIg, " onbeforepaste="clipboardData setData(text", clipboardData getData(text ).replace(uFFOO-uh FFFg, ) 用正则表达式限制只能输入数字: onkeyup=" value= value. replace([^d/g") onbeforepaste-"clipboardData setData('text",clipboardData getData(text"). replace([d]g, ) 用正则表达式限制只能输入数字和英文: onkeyup-" value= value. replace(IW]g:") onbeforepaste="clipboardData setData(text", clipboardData getData( text).replace([d g 在JS下使用正则表达式 @author jilongliang *注册的验证 S(function(t var Semail =/w+( [- J W+*@Iw+([- ]W+)*\lw+(I- ]Iw+*///Email var$ userName=/Nu4e00-u9fa5a-zA-z0-9]+$/∥匹配中文,英文字母和数字及 var$qq=/[1-90-9]{4}∥QQ^1-9]110d]{4,9}S varSurl=/ahttps?:W(w+\?[wl-\.]+(.iw+)+s///url var Smycode =/ [0-9]*S/ //code yar img_rigth=<img src=images/check_right. gif/>", var img_error ="<img src=images/check_error. gif/> 取得一个包含匹配的元素集合中每一个儿素紧邻的后面同辈元素的元素集合 *这个函数只返回后面那个紧邻的同辈元素,而不是后面所有的同辈元素(可以使用 nextA)可以用一个可选的表达式进行筛选 S(input[name='username]"). blur(function( i if s(this). val(==")i $ this). nextEl("span") html(img_error+"用户名不能为空!"); return ∥$(#ema)ocus; ∥ return false; y else if(SuserName test($(this). val()==false)i $(this) nextEl("span")htm(mg_emor+"格式不正确! return ese S(this). next("span").html(img_rigth); ); /*判断密码* S(input[name='password]). blur function( t if ((this). val(==" (his) nextA("span")htm(mg_eror+"密码不能为空!); return y else S(this). next("span").html(img_ rigth 判断密码是否致 S( input[name=comfirm_password]").blur(function([ var password=S(input[name='password]).valo if(password !=S(this). valo) $(his)next("span"),htm( mg_error+"确认密码与密码一致.") return 3 else S(this). next("span").html(img_rigth) ); /*密码提示验证* S(input[name=pwd_prompt]). blur(functiond t if((this). val0==)i $(his)next("span")htm( (mg_error"不能为空必须填写项"); return y else if(s(this).valo length 2)[ ( his). next("span")htm( Img_error+"长庋不能小」两个宇节."); return else S(this). next(span"). html(img_ rigth); /*密码回答验证* $(input[name='pwd_answer] ).blur(function()[ if(S(this). val0==")f (his)next("span")htm( Img_error+"不能为空必须填写项."); return: y else if (S(this). val( length 2)i $(his)next("span")htm( img._error+"长庋不能小于两个字节."); return 3 else S(this). next("span").html(img_rigth); /*Emai验证*/ S(input[name='email']"). blur(function i if ((this). val0== $(his)next("span")htm(img_eror+"Emai不能为空"); return else if (Semail test((this). val()== false)( $( his). next("span")htm(img_eror+"您的Emai格式不正确!); return else S(this). next("span"). html(img_rigth); /*验证QQ* S(input[name=qq]" ). blur(function([ if S(this).valo==t return null y else if(Sqg test((this). valo)== false)[ (hi)next(span").htm( Img_error+"您的QQ格式不正确!) tu y else t S(this). next("span"). html(img_rigth) /*网址验证* $(input[name='url]").blur(function([ if(s(this).val0==")f return null else if(Surl test(S(this). val()== false)i $ this). nex"span")htm( img._error+"您的URL格式不正确!"); return else S(this). next("span"). html(img_rigth); 验证码 S(inputname=code]"). blur(function( t if S(this).valo==t $(#mg_code")htm( Img_error+"验证码不能为空!); return else if(Smycode. test(S(this).val()== false)( (# img_code".htm( mg_error+"验证码格式不正确!"); return helse S(#img_code").html(img_rigth); ) 提交 S(#reg submit").click(function(( l/ if(S(#reg_username").val(==) ∥ $(#sp_name") nextA("span")hm( Img_error+"用户名不能为空!r); return l Else if(Suser Name test(S( #reg_username").valo)== false)i $(# sp_name") nextA("span").hm( mg_error+"格式不止确!y; ∥ Jelse if(S(#reg_code").val0==)f (#mg_code") nextEl("span").htm( Img_error+"验讦码不能为空!"); return; l/ Else if( mycode test(S(#reg_code").valo)== false) $(#img_coe"). nextEl("span")htm( Img_error+"格式不正确!); return f else t S(#fimg_code, #sp_name").html(img_rigth vr$ username=$(#reg_ username")va(;/用户名 var$ password=S(“#reg_ password").va():/密码 var Confirm_password=s(H#reg_ comfirm_password")val(O;∥/确认密码 va$ pwd_prompt=$("# reg._pwd_prompt").val(O;/密码提示 var$ pwd_answer=$(# treg_pwd_answer").vaQ;/密码问题 ∥ar$sex=s(#sex").vaO;/性别

...展开详情
试读 37P Java-PHP-C#
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
  • 分享王者

关注 私信
上传资源赚钱or赚积分
最新推荐
Java-PHP-C# 11积分/C币 立即下载
1/37
Java-PHP-C#第1页
Java-PHP-C#第2页
Java-PHP-C#第3页
Java-PHP-C#第4页
Java-PHP-C#第5页
Java-PHP-C#第6页
Java-PHP-C#第7页
Java-PHP-C#第8页

试读结束, 可继续读4页

11积分/C币 立即下载