正則表達式匹配域名、網址、url


http://harveyzeng.iteye.com/blog/1776991
javascript


DNS規定,域名中的標號都由英文字母和數字組成,每個標號不超過63個字符,也不區分大小寫字母。標號中除連字符(-)外不能使用其餘的標點符號。級別最低的域名寫在最左邊,而級別最高的域名寫在最右邊。由多個標號組成的完整域名總共不超過255個字符。css


由此匹配完整域名的正則表達式:html

   ^(?=^.{3,255}$)[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+$java

例如:baidu.com jquery

 

 匹配網址:正則表達式

^(?=^.{3,255}$)(http(s)?:\/\/)?(www\.)?[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+(:\d+)*(\/\w+\.\w+)*$瀏覽器

例如: http://www.baidu.comide

 

匹配http url:函數

^(?=^.{3,255}$)(http(s)?:\/\/)?(www\.)?[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+(:\d+)*(\/\w+\.\w+)*([\?&]\w+=\w*)*$ui

例如: http://www.tetet.com/index.html?q=1&m=test


代碼實例:


 // 驗證域名格式
            obj = query.searchinput;
            reg = /^(?=^.{3,255}$)[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+$/;
            if(!reg.test(obj)){
                $("#verifytip").html('域名格式驗證未經過或域名有錯誤!');
                return;
            }


正則表達式應用:

http://www.cnblogs.com/luluping/archive/2008/05/04/1181434.html

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   

  2. <html xmlns="http://www.w3.org/1999/xhtml">   

  3. <head>   

  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   

  5. <title>Test</title>   

  6. <script type="text/javascript" language="javascript" src="jquery.js"></script>   

  7. <script type="text/javascript" language="javascript" >   

  8.     function validata(){   

  9.         if($("#username").val()==""){   

  10.             document.write("請輸入名字");               

  11.             return false;   

  12.         }   

  13.         if($("#password").val()==""){   

  14.             document.write("請輸入密碼");   

  15.             return false;   

  16.         }          

  17.         if($("#telephone").val()==""){   

  18.             document.write("請輸入電話號碼");   

  19.         }   

  20.         if($("#email").val()==""){   

  21.             $("#email").val("shuangping@163.com");   

  22.         }   

  23.     }      

  24.        

  25.     function isInteger(obj){   

  26.            

  27.         reg=/^[-+]?\d+$/;    

  28.         if(!reg.test(obj)){   

  29.             $("#test").html("<b>Please input correct figures</b>");   

  30.         }else{   

  31.             $("#test").html("");   

  32.         }   

  33.     }   

  34.     function isEmail(obj){   

  35.         reg=/^\w{3,}@\w+(\.\w+)+$/;   

  36.         if(!reg.test(obj)){        

  37.             $("#test").html("<b>請輸入正確的郵箱地址</b>");   

  38.         }else{   

  39.             $("#test").html("");   

  40.         }   

  41.     }   

  42.     function isString(obj){   

  43.         reg=/^[a-z,A-Z]+$/;   

  44.         if(!reg.test(obj)){   

  45.             $("#test").html("<b>只能輸入字符</b>");   

  46.         }else{   

  47.             $("#test").html("");   

  48.         }   

  49.     }   

  50.     function isTelephone(obj){   

  51.         reg=/^(\d{3,4}\-)?[1-9]\d{6,7}$/;   

  52.         if(!reg.test(obj)){   

  53.             $("#test").html("<b>請輸入正確的電話號碼!</b>");   

  54.         }else{   

  55.             $("#test").html("");   

  56.         }   

  57.     }   

  58.     function isMobile(obj){   

  59.         reg=/^(\+\d{2,3}\-)?\d{11}$/;   

  60.         if(!reg.test(obj)){   

  61.             $("#test").html("請輸入正確移動電話");   

  62.         }else{   

  63.             $("#test").html("");   

  64.         }   

  65.     }   

  66.     function isUri(obj){   

  67.         reg=/^http:\/\/[a-zA-Z0-9]+\.[a-zA-Z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;   

  68.         if(!reg.test(obj)){   

  69.             $("#test").html($("#uri").val()+"請輸入正確的inernet地址");   

  70.         }else{   

  71.             $("#test").html("");   

  72.         }   

  73.     }   

  74.        

  75.     //document加載完畢執行   

  76.     $(document).ready(function() {   

  77.     // do something here   

  78.        

  79.     //隔行換色功能   

  80.     $("p").each(function(i){   

  81.         this.style.color=['red','green','blue','black'][i%2]   

  82.         });   

  83.        

  84.     //eq(2)獲取$("p")集合的第3個元素    

  85.     $("p").eq(2).click(function(){$("#display").css("color","blue")});   

  86.        

  87.     //全部test中的p都附加了樣式"over"。   

  88.     $("#test>p").addClass("over");   

  89.        

  90.     //test中的最後一個p附加了樣式"out"。   

  91.     $("#test p:last").addClass("out");   

  92.        

  93.     //選擇同級元素還沒看懂   

  94.     //$('#faq').find('dd').hide().end().find('dt').click(function()    

  95.        

  96.     //選擇父級元素   

  97.     $("a").hover(   

  98.                 function(){$(this).parents("p").addClass("out")},   

  99.                 function(){$(this).parents("p").removeClass("out")})   

  100.        

  101.        

  102.     //hover鼠標懸停效果,toggle每次點擊時切換要調用的函數  ,   

  103.     //trigger(eventtype): 在每個匹配的元素上觸發某類事件,   

  104.     //bind(eventtype,fn),unbind(eventtype): 事件的綁定與反綁定從每個匹配的元素中(添加)刪除綁定的事件。   

  105.   

  106.     //方法的連寫   

  107.     $("#display").hover(function(){   

  108.             $(this).addClass("over");   

  109.         },function(){   

  110.             $(this).removeClass("over");    

  111.         })   

  112.         .click(function(){alert($("#display").text())});   

  113.            

  114.            if($.browser.msie){//判斷瀏覽器,如果ie則執行下面的功能   


  115.            

  116.         //聚焦   

  117.         $("input[@type=text],textarea,input[@type=password]")   

  118.         .focus(function(){$(this).css({background:"white",border:"1px solid blue"})})   

  119.         //也能夠這樣連着寫,   

  120.         //.blur(function(){$(this).css({background:"white",border:"1px solid black"})})   

  121.            

  122.         //失去焦點   

  123.         //css樣式能夠經過addClass()來添加   

  124.         $("input[@type=text],textarea,input[@type=password]")   

  125.         .blur(function(){$(this).css({background:"white",border:"1px solid black"});});   

  126.     }   

  127.        

  128.     });   

  129.        

  130.        

  131.        

  132. </script>   

  133. <style type="text/css">   

  134. .over{   

  135.     font-size:large;   

  136.     font-style:italic;   

  137. }   

  138. .out{   

  139.     font-size:small;   

  140. }          

  141. </style>   

  142. </head>   

  143.   

  144. <body >   

  145. <div id="display">demo</div>   

  146. <div id="test">   

  147.     <p>adfa<a>dfasfa</a>sdfasdf</p>   

  148.     <p>adfadfasfasdfasdf</p>   

  149.     <p>adfadfasfasdfasdf</p>       

  150.     <p>adfadfasfasdfasdf</p>   

  151. </div>   

  152. <form id="theForm">   

  153.     isString<div><input type="text" id="username" onblur="isString(this.value)"/></div>   

  154.     isInteger<div><input type="text" id="password" onblur="isInteger(this.value)"/></div>   

  155.     isTelephone<div><input type="text" id="telephone" onblur="isTelephone(this.value)"/></div>   

  156.     isMobile<div><input type="text" id="mobile" onblur="isMobile(this.value)"/></div>   

  157.     isEmail<div><input type="text" id="email" onblur="isEmail(this.value)"/></div>   

  158.     isUri<div><input type="text" id="uri" onblur="isUri(this.value)"/></div>   

  159.     <div><input type="button" value="Validata" onclick="return validata();"  /></div>   

  160. </form>   

  161. </body>   

  162. </html>  

相關文章
相關標籤/搜索