正则表达式匹配域名、网址、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>  

相关文章
相关标签/搜索