常用正则表达式收集

最近一个flash网站项目,里面有些在flash里面提交的表单,才真正意识到,在flash里面也有N多数据格式验证的麻烦问题,于是收集一些常用的正则表达式,以防不时之需:

匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
匹配空白行的正则表达式:\n\s*\r
匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1>|<.*? />
匹配首尾空白字符的正则表达式:^\s*|\s*$
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配网址URL的正则表达式:[a-zA-z]+://[^\s]*
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7}
匹配腾讯QQ号:[1-9][0-9]{4,}
匹配中国邮政编码:[1-9]\d{5}(?!\d)
匹配身份证:\d{15}|\d{18}
匹配ip地址:\d+\.\d+\.\d+\.\d+

匹配特定数字:
^[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)

匹配特定字符串:
^[A-Za-z]+$  //匹配由26个英文字母组成的字符串
^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串
^[a-z]+$  //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串
^\w+$  //匹配由数字、26个英文字母或者下划线组成的字符串

我的博客终于修复成功了,激动的哭了!

前几天服务器上不了,重启不起来,被美橙互联的客服告知,系统文件损坏,服务器无法重启,需要重装系统。我心头一沉~~

终于系统重装好了,又被告知因为没有购买相关服务,不帮忙恢复各个网站的数据~~

没办法,阿平只要自己一边学习相关知识,一边一个站一个站的恢复,别的站很简单,数据库表的类型是MyISAM的,只需要把文件覆盖下就行了。唯独这个博客遇到了大麻烦,恢复不了!!文件拷进去后,Mysql直接当机,怎么搞也不能成功!!我快哭了!!!

于是疯狂的查阅资料,百度google都翻遍了,才得知mysql的数据库类型有MyISAM和InnoDB之分。而WordPress的库表类型选择的就是InnoDB,InnoDB类型的库表frm文件中只是存的库表的结构,而数据是存在ibdata1中的。

于是疯狂的重试,当机,再重试,再当机。。。。都不知道试了多少遍的了,在快绝望的时候,成功恢复了!!!谢天谢地!!!

TimelineWatcher类的使用示例

今天在论坛上闲逛时发现了这个好东西,TimelineWatcher:一个不错的工具类。

用这个类可以做到侦听一个MovieClip播放情况,比如可以做到让MovieClip播放到哪个桢,派发事件等等。很实用。

收集到网上的示例源码,提供下载,服务于大众:

点击下载:timelinewatcher

这个示例上是个左右移动的小球,左上角的一个文本可以实时显示这个小球动画播放到的桢标签,以及循环的次数。

Flash Player安全性设置的解决办法

在本地运行的swf文件,如果要访问网络,flash player就会弹出一个安全警告:

e69caae591bde5908d

提示你到http://www.macromedia.com/go/settmgr_locsecy_zh-CN_author去设置一下Flash Player安全设置,允许哪些swf文件访问网络。

这时候就有很多人郁闷了,因为Macromedia的那个网站在国内很多地方打开是很慢的,能不能打开全要靠运气了。如果那个网页打不开怎么办呢?

有两个解决办法:

1、在Flash Player中的文件菜单中选择”创建播放器”,将swf文件转换成exe文件,就可以直接访问网络了。问题勉强解决了。

2、终极完美解决方案!!用记事本在C:\Documents and Settings\[你的当前用户]\Application Data\Macromedia\Flash Player\#Security\FlashPlayerTrust目录中创建一个叫myTrustFile.cfg的文件,在里面写上允许访问网络的文件地址即可。比如想让D盘下的所有swf文件充许访问网络,只需要写上D:\即可。

fireFox中通过flash访问存储的session会丢?

最近搞公司的一个项目,是个flash全部,其中有个通过flash中的表单登陆网站的功能。

测试部门的反馈却是在FireFox火狐浏览器下,网站不能正常登陆,似乎依赖于用户身份的相关功能统统失效。很是郁闷。排查了N久,才发现是Session失效了。

在网上查了一下,发现很多人都遇到了这个问题。经过一翻讨论,最后用一个简单的办法解决了这个问题:

在用户登陆时,服务器将SessionID传给flash存储起来,在和服务器通信时,如需要,就将SessionID拼在URL后面,再传给服务器,用来识别用户的身份。

后记:为什么这个世界上会有这么多的浏览器需要我们去兼容呢?

Flash预览本地图片,简单源文件示例

最近要做个flash上传图片的东东,其中有个效果是先让用户在本地预览一下图片,然后再点击上传。

本来想当然的以为这个功能很简单就能实现,用UILoader直接Load一下本地的图片就行了。后来再一想,不对!有两个难点:1.FileRefrence只能拿到File的name,拿不到File的Path。2.即便是拿出了File的Path,在网页上运行的File也不可能跨过安全沙箱访问本地的文件。

但是我的确看到有人做出来过的,这是怎么回事呢?

Baidu了一下后知道了,原来可以利用FlashPlayer10中的新东东,FileRefrence.load()和FileRefrence.data,把图片数据以二进制的形式读入Flash,然后直接用Loader.loadBytes()方法读入二进制数据,直接显示到界面上。

这里面有个问题要注意,由于这是Flash Player 10新支持的东东,如果是用Flash开发的,需要用Flash CS4开发,并将Flash Player选成10的版本,如果是用Flex开发,需要SDK  4.0以上版本。

一个简单的例子及源文件:

示例源文件下载

Mate,据说是个不错的Flex开发框架

Mate的googleCode地址:http://code.google.com/p/mate-framework/
好久没有关注业界的新闻了,今天稍有时间看了下,发现有个叫Mate的框架大受推荐。

据介绍,这个框架相对于Cairngorm而言,采用的注入方式使其在快速创建调试应用上有比较大的优势。现在的最新版本:0.8.8.1

Flash 0day漏洞修补

据称近日出现了大量利用flash oday漏洞挂码的网页,Flash 0day漏洞出现在Flash的文件解析过程中。只要黑客构造一个内含特定Flash文件的网页,Flash.ocx就会崩溃溢出并执行网页中的恶意代码。据Adobe官方称,这个漏洞影响到Adobe Flash Player的9、10两大系列多个版本,Adobe公司旗下的Reader和Acrobat Reader等PDF阅读工具也存在相同类型的漏洞。
又据称,Adobe公司将在30日和31日分别针对Adobe Flash Player和Adobe Reader/Acrobat Reader发布Flash漏洞安全补丁.
大家快去升级一下吧,不要中招了哦。