正则表达式[精选].docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
正则表达式[精选]

[原创] jQuery源码分析-02正则表达式-RegExp-常用正则表达式Js代码??作者:nuysoft/JS攻城师/高云 QQEMail:nuysoft@??????声明:本文为原创文章,如需转载,请注明来源并保留原文链接。??后文预告:jQuery中的正则表达式分析??Js代码??2.4?常用正则表达式??在网上找到一篇广为流传的文章《常用正则表达式》,逐一分析,不足地方进行补充和纠正。??Js代码??常用的数字正则(严格匹配)????正则??含义??^[1-9]\d*$??匹配正整数??^-[1-9]\d*$?匹配负整数??^-?[1-9]\d*$????匹配整数??^[1-9]\d*|0$????匹配非负整数(正整数?+?0)??^-[1-9]\d*|0$???匹配非正整数(负整数?+?0)??^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$??匹配正浮点数??^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$???匹配负浮点数??^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$?????匹配浮点数??^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$?匹配非负浮点数(正浮点数?+?0)??^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$????匹配非正浮点数(负浮点数?+?0)??Js代码??常用字符串正则????正则??含义??补充??^[A-Za-z]+$?匹配由26个英文字母组成的字符串????或?/^[a-z]+$/i??^[A-Z]+$????匹配由26个英文字母的大写组成的字符串???^[a-z]+$????匹配由26个英文字母的小写组成的字符串???^[A-Za-z0-9]+$??匹配由数字和26个英文字母组成的字符串?注意\w包含下划线_??^\w+$???匹配由数字、26个英文字母或者下划线组成的字符串??????常用数字正则和常用字符串正则,是最基本的正则应用,读者可以作为入门的练习,试试能不能快速的读懂其中的含义。??Js代码??匹配中文字符????普遍使用的正则是[\u4e00-\u9fa5],但这个范围并不完整。例如:??/[\u4e00-\u9fa5]/.test(???)?//?测试部首?,返回false??根据Unicode?5.0版编码,要准确的判断一个中文字符要包括:??范围??含义??范围??含义??2E80-2EFF???CJK?部首补充????2F00-2FDF???康熙字典部首??3000-303F???CJK?符号和标点???31C0-31EF???CJK?笔画??3200-32FF???封闭式?CJK?文字和月份???3300-33FF???CJK?兼容??3400-4DBF???CJK?统一表意符号扩展?A??4DC0-4DFF???易经六十四卦符号??4E00-9FBF???CJK?统一表意符号??F900-FAFF???CJK?兼容象形文字??FE30-FE4F???CJK?兼容形式????FF00-FFEF???全角ASCII、全角标点??因此,正确的匹配中文字符正则表达式为:??var?rcjk?=?/[\u2E80-\u2EFF\u2F00-\u2FDF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\u3400-\u4DBF\u4DC0-\u4DFF\u4E00-\u9FBF\uF900-\uFAFF\uFE30-\uFE4F\uFF00-\uFFEF]+/g;??如果不希望匹配标点、符号,在正则中去掉对应的范围即可:??3000-303F???CJK?符号和标点???FF00-FFEF???全角ASCII、全角标点??Js代码??匹配双字节字符(包括汉字在内)????[^\x00-\xff],可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1),代码示例如下:??(?abc.replace(?/[^\x00-\xff]/g,aa?).length?)?//?3??(?汉字.replace(?/[^\x00-\xff]/g,aa?).length?)?//?4??(?abc汉字.replace(?/[^\x00-\xff]/g,aa).length?)?//?7??Js代码??匹配HTML标记的正则表达式????先说说网上流传的版本:??(\S*?)[^]*.*?/\1|.*??/??*???*表示0个或多个,?表示0个或1个,两个叠加起来标识0个多个,与*的功能重叠??(\S*?)??标签的长度必须大于0,因此不能用*????

文档评论(0)

dart002 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档