网络编程 
首页 > 网络编程 > 浏览文章

积累比较常用的正则表达式(例如:匹配中文、匹配html)

(编辑:jimmy 日期: 2024/11/16 浏览:3 次 )

正则表达式(Regular Expression,在代码中常简写为regex、regexp或RE)是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。许多程序设计语言都支持利用正则表达式进行字符串操作。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。

匹配中文字符的正则表达式: [u4e00-u9fa5]  

  评注:匹配中文还真是个头疼的事,有了这个表达式就好办了
  匹配双字节字符(包括汉字在内):[^x00-xff]
  评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
  匹配空白行的正则表达式:ns*r
  评注:可以用来删除空白行
  匹配HTML标记的正则表达式:<(S*"等字符:“[^%&'',;="http://([w-]+.)+[w-]+(/[w">http://([w-]+.)+[w-]+(/[w- ./"aa").length;}

  (2)应用:javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现

String.prototype.trim = function() 
  { 
  return this.replace(/(^s*)|(s*$)/g, ""); 
  } 

  (3)应用:利用正则表达式分解和转换IP地址

 function IP2V(ip) //IP地址转换成对应数值 
  { 
  re=/(d+).(d+).(d+).(d+)/g //匹配IP地址的正则表达式 
  if(re.test(ip)) 
  { 
  return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1 
  } 
  else 
  { 
  throw new Error("Not a valid IP address!") 
  } 
  } 

  (4)应用:从URL地址中提取文件名的javascript程序

  s="http://www.9499.net/page1.htm";
  s=s.replace(/(.*/){0,}([^.]+).*/ig,"$2") ;//Page1.htm

  (5)应用:利用正则表达式限制网页表单里的文本框输入内容

  用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^u4E00-u9FA5]/g,'')

"onbeforepaste="clipboardData.setData(''text'',clipboardData.getData(''text'').replace(/[^u4E00-u9FA5]/g,''))"

  用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^uFF00-uFFFF]/g,'')

"onbeforepaste="clipboardData.setData(''text'',clipboardData.getData(''text'').replace(/[^uFF00-uFFFF]/g,''))"

  用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^d]/g,'') "onbeforepaste=
"clipboardData.setData(''text'',clipboardData.getData(''text'').replace(/[^d]/g,''))"

  用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[W]/g,'')

"onbeforepaste="clipboardData.setData(''text'',clipboardData.getData(''text'').replace(/[^d]/g,''

以上内容就是本文的全部叙述,希望大家喜欢,如果大家有更好的有关正则表达式的知识,可以共享哦。

上一篇:正则表达式(regex)入门、元字符(特殊字符)学习与提高
下一篇:正则表达式基本语法详解
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。