﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Mayer-文章分类-JavaScript</title><link>http://www.blogjava.net/mayer/category/16141.html</link><description>不论风吹浪打，胜似闲庭信步。
</description><language>zh-cn</language><lastBuildDate>Fri, 02 Mar 2007 06:47:23 GMT</lastBuildDate><pubDate>Fri, 02 Mar 2007 06:47:23 GMT</pubDate><ttl>60</ttl><item><title>常用正则表达式[转]</title><link>http://www.blogjava.net/mayer/articles/74392.html</link><dc:creator>Mayer</dc:creator><author>Mayer</author><pubDate>Tue, 10 Oct 2006 15:25:00 GMT</pubDate><guid>http://www.blogjava.net/mayer/articles/74392.html</guid><wfw:comment>http://www.blogjava.net/mayer/comments/74392.html</wfw:comment><comments>http://www.blogjava.net/mayer/articles/74392.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/mayer/comments/commentRss/74392.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/mayer/services/trackbacks/74392.html</trackback:ping><description><![CDATA[
		<p>来源：<a href="http://hi.baidu.com/childman/blog/item/2dd18ad4a4628601a08bb744.html">http://hi.baidu.com/childman/blog/item/2dd18ad4a4628601a08bb744.html</a><br />--------<br /><br />匹配中文字符的正则表达式： [\u4e00-\u9fa5]<br />评注：匹配中文还真是个头疼的事，有了这个表达式就好办了</p>
		<p>匹配双字节字符(包括汉字在内)：[^\x00-\xff]<br />评注：可以用来计算字符串的长度（一个双字节字符长度计2，ASCII字符计1）</p>
		<p>匹配空白行的正则表达式：\n\s*\r<br />评注：可以用来删除空白行</p>
		<p>匹配HTML标记的正则表达式：&lt; (\S*?)[^&gt;]*&gt;.*?|&lt; .*? /&gt;<br />评注：网上流传的版本太糟糕，上面这个也仅仅能匹配部分，对于复杂的嵌套标记依旧无能为力</p>
		<p>匹配首尾空白字符的正则表达式：^\s*|\s*$<br />评注：可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等)，非常有用的表达式</p>
		<p>匹配Email地址的正则表达式：\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*<br />评注：表单验证时很实用</p>
		<p>匹配网址URL的正则表达式：[a-zA-z]+://[^\s]*<br />评注：网上流传的版本功能很有限，上面这个基本可以满足需求</p>
		<p>匹配帐号是否合法(字母开头，允许5-16字节，允许字母数字下划线)：^[a-zA-Z][a-zA-Z0-9_]{4,15}$<br />评注：表单验证时很实用</p>
		<p>匹配国内电话号码：\d{3}-\d{8}|\d{4}-\d{7}<br />评注：匹配形式如 0511-4405222 或 021-87888822</p>
		<p>匹配腾讯QQ号：[1-9][0-9]{4,}<br />评注：腾讯QQ号从10000开始</p>
		<p>匹配中国邮政编码：[1-9]\d{5}(?!\d)<br />评注：中国邮政编码为6位数字</p>
		<p>匹配身份证：\d{15}|\d{18}<br />评注：中国的身份证为15位或18位</p>
		<p>匹配ip地址：\d+\.\d+\.\d+\.\d+<br />评注：提取ip地址时有用</p>
		<p>匹配特定数字：<br />^[1-9]\d*$　 　 //匹配正整数<br />^-[1-9]\d*$ 　 //匹配负整数<br />^-?[1-9]\d*$　　 //匹配整数<br />^[1-9]\d*|0$　 //匹配非负整数（正整数 + 0）<br />^-[1-9]\d*|0$　　 //匹配非正整数（负整数 + 0）<br />^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$　　 //匹配正浮点数<br />^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$　 //匹配负浮点数<br />^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$　 //匹配浮点数<br />^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$　　 //匹配非负浮点数（正浮点数 + 0）<br />^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$　　//匹配非正浮点数（负浮点数 + 0）<br />评注：处理大量数据时有用，具体应用时注意修正</p>
		<p>匹配特定字符串：<br />^[A-Za-z]+$　　//匹配由26个英文字母组成的字符串<br />^[A-Z]+$　　//匹配由26个英文字母的大写组成的字符串<br />^[a-z]+$　　//匹配由26个英文字母的小写组成的字符串<br />^[A-Za-z0-9]+$　　//匹配由数字和26个英文字母组成的字符串<br />^\w+$　　//匹配由数字、26个英文字母或者下划线组成的字符串</p>
		<p> </p>
<img src ="http://www.blogjava.net/mayer/aggbug/74392.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/mayer/" target="_blank">Mayer</a> 2006-10-10 23:25 <a href="http://www.blogjava.net/mayer/articles/74392.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>