正则表达式匹配域名、网址、url  

前端之家收集整理的这篇文章主要介绍了正则表达式匹配域名、网址、url  前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。


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


DNS规定,域名中的标号都由英文字母和数字组成,每一个标号不超过63个字符,也不区分大小写字母。标号中除连字符(-)外不能使用其他的标点符号。级别最低的域名写在最左边,而级别最高的域名写在最右边。由多个标号组成的完整域名总共不超过255个字符。


由此匹配完整域名的正则表达式:

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

例如:baidu.com

匹配网址:

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

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

匹配http url:

^(?=^.{3,62})+(:\d+)*(\/\w+\.\w+)*([\?&]\w+=\w*)*$

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


代码实例:


// 验证域名格式
obj = query.searchinput;
reg = /^(?=^.{3,62})+$/;
if(!reg.test(obj)){
$("#verifytip").html('域名格式验证未通过或域名有错误!');
return;
}


正则表达式应用:

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

  1. <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

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

  3. <head>

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

  5. <title>Test</title>

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

  7. <scripttype="text/javascript"language="javascript">

  8. functionvalidata(){

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

  10. document.write("请输入名字");

  11. returnfalse;

  12. }

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

  14. document.write("请输入密码");

  15. returnfalse;

  16. }

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

  18. document.write("请输入电话号码");

  19. }

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

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

  22. }

  23. }

  24. functionisInteger(obj){

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

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

  27. $("#test").html("<b>Pleaseinputcorrectfigures</b>");

  28. }else{

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

  30. }

  31. }

  32. functionisEmail(obj){

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

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

  35. $("#test").html("<b>请输入正确的邮箱地址</b>");

  36. }else{

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

  38. }

  39. }

  40. functionisString(obj){

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

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

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

  44. }else{

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

  46. }

  47. }

  48. functionisTelephone(obj){

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

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

  51. $("#test").html("<b>请输入正确的电话号码!</b>");

  52. }else{

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

  54. }

  55. }

  56. functionisMobile(obj){

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

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

  59. $("#test").html("请输入正确移动电话");

  60. }else{

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

  62. }

  63. }

  64. functionisUri(obj){

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

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

  67. $("#test").html($("#uri").val()+"请输入正确的inernet地址");

  68. }else{

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

  70. }

  71. }

  72. //document加载完毕执行

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

  74. //dosomethinghere

  75. //隔行换色功能

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

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

  78. });

  79. //eq(2)获取$("p")集合的第3个元素

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

  81. //所有test中的p都附加了样式"over"。

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

  83. //test中的最后一个p附加了样式"out"。

  84. $("#testp:last").addClass("out");

  85. //选择同级元素还没看懂

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

  87. //选择父级元素

  88. $("a").hover(

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

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

  91. //hover鼠标悬停效果,toggle每次点击时切换要调用函数,

  92. //trigger(eventtype):在每一个匹配的元素上触发某类事件,

  93. //bind(eventtype,fn),unbind(eventtype):事件的绑定与反绑定从每一个匹配的元素中(添加删除绑定的事件。

  94. //方法的连写

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

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

  97. },function(){

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

  99. })

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

  101. if($.browser.msie){//判断浏览器,若是ie则执行下面的功能


  102. //聚焦

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

  104. .focus(function(){$(this).css({background:"white",border:"1pxsolidblue"})})

  105. //也可以这样连着写,

  106. //.blur(function(){$(this).css({background:"white",border:"1pxsolidblack"})})

  107. //失去焦点

  108. //css样式可以通过addClass()来添加

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

  110. .blur(function(){$(this).css({background:"white",border:"1pxsolidblack"});});

  111. }

  112. });

  113. </script>

  114. <styletype="text/css">

  115. .over{

  116. font-size:large;

  117. font-style:italic;

  118. }

  119. .out{

  120. font-size:small;

  121. }

  122. </style>

  123. </head>

  124. <body>

  125. <divid="display">demo</div>

  126. <divid="test">

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

  128. <p>adfadfasfasdfasdf</p>

  129. <p>adfadfasfasdfasdf</p>

  130. <p>adfadfasfasdfasdf</p>

  131. </div>

  132. <formid="theForm">

  133. isString<div><inputtype="text"id="username"onblur="isString(this.value)"/></div>

  134. isInteger<div><inputtype="text"id="password"onblur="isInteger(this.value)"/></div>

  135. isTelephone<div><inputtype="text"id="telephone"onblur="isTelephone(this.value)"/></div>

  136. isMobile<div><inputtype="text"id="mobile"onblur="isMobile(this.value)"/></div>

  137. isEmail<div><inputtype="text"id="email"onblur="isEmail(this.value)"/></div>

  138. isUri<div><inputtype="text"id="uri"onblur="isUri(this.value)"/></div>

  139. <div><inputtype="button"value="Validata"onclick="returnvalidata();"/></div>

  140. </form>

  141. </body>

  142. </html>

猜你在找的正则表达式相关文章