一幅感动千万人的漫画

fumuen.jpg

此内容被密码保护

请输入密码访问


Maximum execution time of 30 seconds exceeded解决错误方法

Fatal error: Maximum execution time of 30 seconds exceeded
出现这个错误如何解决 去哪里可以设置最大执行时间

办法:
修改php.ini:
max_execution_time = 300 ,秒可以设置更大,然后重起服务
或者在程序写
set_time_limit(时间) //0为无限制

前国际奥委会主席萨马兰奇因心脏病去世

据国际奥委会官方网站消息,当地时间4月21日下午13点25分(北京时间晚上19点25分),前国际奥委会主席、名誉主席萨马兰奇在巴塞罗那基隆医院因急性冠状动脉供血不足去世,享年89岁。

89岁的前国际奥委会主席萨马兰奇是于20日中午因心脏病在西班牙巴塞罗那市住院的。医院发言人当时表示,萨马兰奇的病情非常严重。院长说,萨马兰奇是因为急性冠状动脉供血不足,情况很危急。

近年来,萨马兰奇健康一直出问题,去年十月,他受邀出席国际体育电视节时心脏病发作,被送入摩洛哥一家医院,接受治疗后状况良好。2007年12月份,萨马兰奇参加由皇马守门员卡西利亚斯和西班牙网球明星纳达尔组织的慈善募捐活动时,突然短暂昏迷,之后就被送往了医院,两天之后病情好转终于出院。

萨马兰奇于1966年获选为国际奥委会委员,1974年至1978年间担任副主席。1980年在苏联莫斯科举行的国际奥委会第83次全会上获选为国际奥委会主席,接替爱尔兰的迈克尔莫里斯基拉宁勋爵,一直在任至2001年退休。退休后担任国际奥委会终身名誉主席,及瑞士洛桑奥林匹克博物馆主席职务。

他退休前的最大心愿,是希望奥运会能在中国举行。2001年7月,北京成功取得2008年夏季奥林匹克运动会的主办权,为他完成心愿。

awstats简介

Awstats是一个免费非常简洁而且强大有个性的统计工具。它可以统计您站点的如下信息:
一:访问量,访问次数,页面浏览量,点击数,数据流量等
二:精确到每月、每日、每小时的数据
三:访问者国家
四:访问者IP
五:Robots/Spiders的统计
六:纺客持续时间
七:对不同Files type 的统计信息
八:Pages-URL的统计
九:访客操作系统浏览器等信息
十:其它信息(搜索关键字等等)
AWStats 是一个免费的强大而有个性的工具,带来先进的网络,流量,FTP或邮件服务器统计图. 本日志分析器作为CGI或从命令行在数个图形网页中显示你日志中包含的所有可能信息. 它利用一部分档案资料就能经常很快地处理大量日志档案, 它能分析日志文件来自从各大服务器工具 ,如 Apache日志档案 s (NCSA combined/XLF/ELF log format or common/CLF log format), WebStar, IIS (W3C的日志格式)及许多其他网站,Proxy(代理服务器)、Wap、流量服务器、邮件服务器和一些 FTP服务器 .
看一看这个比较表在最著名统计工具 (AWStats, Analog, Webalizer,...)之间有何特点和不同的想法.
AWStats 是一个在GNU通用公共许可证下发行的免费软件. 你可以看看这个许可证图表而知道你可以/不可以做.
由于AWStats工程来自网上信息,但也作为CGI、 它可以与允许进入Perl,CGI与日志的大型网站主办提供商一起工作.

日志分析软件awstats的安装使用简易指南

日志分析软件awstats的安装使用简易指南

1. 下载地址

http://sourceforge.net/projects/awstats/

http://voxel.dl.sourceforge.net/sourceforge/awstats/awstats-6.4-1.noarch.rpm
2. 安装
2.1 rpm安装

[root@web tools]# rpm -ivh awstats-6.4-1.noarch.rpm
Preparing...                ########################################### [100%]
1:awstats                ########################################### [100%]

----- AWStats 6.4 - Laurent Destailleur -----
AWStats files have been installed in /usr/local/awstats

If first install, follow instructions in documentation
(/usr/local/awstats/docs/index.html) to setup AWStats in 3 steps:
Step 1 : Install and Setup with awstats_configure.pl (or manually)
Step 2 : Build/Update Statistics with awstats.pl
Step 3 : Read Statistics

2.2 tar包安装

直接解压就行了,因为awstats是由perl编写的。其实都一样。

3. 运行配置脚本生成awstats的配置文件
cd /usr/local/awstats/tools
perl awstats_configure.pl
配置脚本询问域名等问题,假设回答的域名为www.abcd.com
3.1 生成的配置文件会放在/etc/awstats/下面
3.2 生成的配置文件的名称为awstats.www.adcd.com.conf
3.3 配置脚本只能修改主要的log日志为combined,如果设置了虚拟主机,需要分别修改虚拟主机中的日志配置。
格式设置 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
自定义的日志采用什么格式 CustomLog logs/testmysite-access_log combined
创建日志 TransferLog logs/testmysite-access_log

4. 编辑awstats.www.abcd.com.conf,保证awstats的正常运行

4.1 设置web server的logfile位置
编辑LogFile为web server的log文件位置
LogFile=/usr/local/apache2/logs/abcd-access_log
一定保证和httpd.conf中的log文件保证一致,httpd.conf中log名称为
logs/abcd-access_log
4.2 设置要分析的服务日志类型
LogType=W
w表示为WEB日志
4.3 设置日志格式
LogFormat=1
1表示采用NCSA apache combined/ELF/XLF log format
4.4 设置所要分析网站域名
SiteDomain="www.testmysite.com.cn"
引号中一定要填上域名,或者服务器主机名
4.5 设置awstats的数据库存放目录
DirData="/usr/local/awstats/data"

5. 创建awstats初始化数据库

perl awstats.pl -config=www.abcd.com -update

6. 创建awstats的初始化静态统计页面

perl awstats.pl -config=bbs.testmysite.com.cn -output -staticlinks > awstats.bbs.html

7. 通过浏览器刷新统计页面

7.1 修改awstats.www.testmysite.com.cn.conf中
AllowToUpdateStatsFromBrowser=1
7.2 修改awstats的存放数据目录的属性为apache的运行用户可读写
chown -R nobody /usr/local/awstats/data
7.3 检查/usr/local/awstats/wwwroot/cgi-bin/*.pl 是否有执行权限
chmod +x /usr/local/awstats/wwwroot/cgi-bin/*.pl

注:rpm安装包里面的*.pl都具有执行权限,tar包里面的*.pl却没有。

8. 设置需要认证才能访问流量统计页面

8.1 设置用户admin有权访问该页面
cd /usr/local/apache2/bin
./htpasswd  -c /usr/local/apache2/passwords admin
按提示连续输入两次密码,这样就创建了admin用户才能访问流量统计页面。

8.2 设置httpd.conf中的awstats条目增加如下内容
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /usr/local/apache2/passwords
Require user admin

9. 两种观看日志分析方法的比较

9.1 静态页面分析方法的优点
a. 安全性高,因为分析过程可以在后台通过crontab来执行,不需要执行cgi.
b. 统计分析页面响应速度快,因为是自动生成的静态页面,所以速度快过动态生成的页面。
c. 对服务器的负载影响可控,自动生成的脚本执行次数一定,对服务器的负载影响也是一定的。
9.2 动态页面分析方法的优点
a. 实时查看,可以随时在页面动态刷新统计分析结果。

9.3 上面两种方法的缺点就是他们优点的反面。

10. awstats在apache虚拟主机下的配置

10.1 虚拟主机有3个
www.testmysite.com.cn
bbs.testmysite.com.cn
diy.testmysite.com.cn
10.2 生成并修改对应虚拟主机的配置文件

cd /etc/awstats
cp awstats.www.testmysite.com.cn.conf awstats.bbs.testmysite.com.cn.conf
cp awstats.www.testmysite.com.cn.conf awstats.diy.testmysite.com.cn.conf
10.3 修改配置文件中的下列各项
LogFile=/usr/local/apache2/logs/bbs-accesss_log
修改为实际的虚拟主机的log文件位置
SiteDomain="bbs.testmysite.com.cn"
修改为实际各虚拟主机的域名
10.4 修改httpd.conf各虚拟主机中的配置
<VirtualHost 202.108.59.23>
。。。。。。
CustomLog logs/testmysite-access_log combined
TransferLog logs/testmysite-access_log
。。。。。。
</VirtualHost>
主要是修改日志格式保证apache输出的日志格式和awstats配置文件中配置一致。
12. 观看流量统计方法

12.1 用户名&密码
admin/testmysiteok
12.2 在浏览器输入

查看主页流量分析
http://www.testmysite.com.cn/awstats/awstats.pl?config=www.testmysite.com.cn
查看bbs流量分析
http://www.testmysite.com.cn/awstats/awstats.pl?config=bbs.testmysite.com.cn
查看diy流量分析
http://www.testmysite.com.cn/awstats/awstats.pl?config=diy.testmysite.com.cn

清纯的学姐也会说出这样的话

昨日….. 中午用餐后….大家都各自在研究室位子上休息….(2点还要开会) 学姐则是在沙发上先睡了…. 其他学长则是趁空闲时间抓一些小游戏程式下来玩玩… 但是由于学姐在睡觉….所以把喇叭关掉…避免吵到人家睡眠….. 那是一个非常好玩的游戏程式….. 主要是打关卡的游戏….每一关都会有魔王把关….. 把小罗罗解决之后…..魔王就会出现….. 最后还会有一个最厉害大魔王…..击败他….就破关了…. 学长们轮流上场…. 一关一关的破….. 终于到最后一关了….但是小罗罗太多了….. 好不容易快要杀完了….大魔王就要出现了……….. 大家忍不住兴奋的心情 ” 快出来了 快出来了 快出来了 快出来了 ” 急促斯喊著… 不料在沙发睡觉的学姊突然睁开眼睛….紧张的脱口说出 ” 不可以射在里面 要拔出来” 这时大家睁大眼睛看著这位学姊…… 没有再打电动…我想谁也没有心情再打电动…… 学姊涨红著脸…… 绑起马尾….快速夺门而出….. 此时我彷佛看到学长在吞口水…… 我想我知道他在想什么….. 想不到这么清纯的学姊……

CentOS SSH常用命令

这是我平时使用PuTTY记录下的命令,以前经常去google搜索这些基本的命令,现在记录下来就不用再东跑西跑浪费时间了。
命令包括top、yum、getconf、more、rpm、hostname、rm、cd、mv、ln、cp、find、df、wget、unzip、tar
Latest update:091023
top
/*性能分析工具,就是windows下的任务管理器*/

yum check-update
/*检查可更新的rpm包*/
yum update
/*更新所有的rpm包*/
yum update 包名
/*更新指定的rpm包*/

getconf LONG_BIT
/*查看CPU位数(32 or 64)*/

more /etc/redhat-release
cat /etc/redhat-release
/*查看当前linux的版本*/

rpm -qa
rpm -qa | wc -l
yum list installed | wc -l
/*查看现在已经安装了那些软件包*/

hostname
/*查看主机名*/

rm -rf mydir
/*删除mydir目录*/
rm go.tar
/*删除go.tar文件*/
cd mydir
/*进入mydir目录*/
cd -
/*回上一级目录*/
cd ~
/*回根目录*/

mv tools tool
/*把tools目录改名为tool */

ln -s tool bac
/*给tool目录创建名为bac的符号链接,最熟悉的应该就是FTP中www链接到public_html目录了*/

cp -a tool /home/leavex/www
/*把tool目录下所有文件复制到www目录下 */

find mt.cgi
/*查找文件名为mt.cgi的文件*/

df -h
/*查看磁盘剩余空间,好像没这个必要,除非你太那个了*/

wget http://lib.1990y.com/wordpress-2.8.2.tar.gz
/*下载远程服务器上的文件到自己的服务器,连上传都省了,服务器不是100M就是1000M的带宽,下载一个2-3兆的MT还不是几十秒的事*/

wget -c http://lib.1990y.com/wordpress-2.8.2.tar.gz
/*继续下载上次未下载完的文件*/

unzip phpbb.zip
/*解压zip文件,windows下要压缩出一个.tar.gz格式的文件还是有点麻烦的*/

tar cf toole.tar tool
/*把tool目录打包为toole.tar文件*/
tar cfz geek.tar.gz tool
/*把tool目录打包且压缩为geek.tar.gz文件,因为.tar文件几乎是没有压缩过的,MT的.tar.gz文件解压成.tar文件后差不多是10MB*/

tar xvf wordpress.tar
/*解压tar格式的文件*/
tar -tvf myfile.tar
/*查看tar文件中包含的文件*/
gzip -d ge.tar.gz
/*解压.tar.gz文件为.tar文件*/

/etc/init.d/httpd restart
/*重启Apache进程*/

闲言碎语:工资多少才算够

这个标题其实不用回答,工资多少都是不会够的,因为我们的物价上涨过快与工资上涨过慢一直是一个无法调和的矛盾。之所以想聊聊这个事情,主要是发现广大设计同仁总是精神状态很饱满,物质状态很干瘪,常会在茶余饭后说到:“要是有薪水更高的地方,我马上就跑。” — 原因还是在于工资的水平无法满足自己的需求。那么,工资作为我们劳动的最直接报酬,是否是考验忠诚度或评估凝聚力的唯一尺度?一个能够给你较高工资的公司,就一定是个好公司吗?我们在职业道路中究竟该如何追求工资或“比工资更高诉求”的东西?

我不止一次听到所谓的企业咨询顾问,公司管理大师的讲座中说到:“企业挽留人才,工资不是最有效的方式,我们不建议单纯以加薪的方式来留住人才。” — 现实情况是,大多数土鳖老板都听向了反面的意思,直接就不考虑加薪了。我要说的是,加薪是留人的最直接的方式,因为劳动换取报酬是资本市场的最基础法则,而所谓“更高级”的方式,无非是砖家们告诉资本家如何画饼的权谋之策 — 单纯加薪不会一定控制住人,但不加薪,绝对控制不住人。这点上所有跳槽与被跳槽的朋友都深有体会。

现在看看设计师自己,怎么样衡量自己的薪水呢?我知道每次设计师聚会的时候,各位犹抱琵琶半遮面的一个兴趣话题就是想知道其他设计师究竟赚多少,以此来评估“设计能力” — 如果不幸,有个家伙被众人公认为水平普通,但却有更好的工资待遇的话,那他不久便会成为众矢之的。虽然是人之常情,但你也要清楚的认识到,在这个缺乏公平的社会中设计能力和吃饱饭之间的直接关系并不算大,别人有的核心竞争力也许是你无法企及的。

单从设计师如何正视自己的工资上来看,就已经和别人拉出了差距 — 我猜大家更有兴趣的是,如果现在工资不高,我怎么保持安静的心态逐步把工资变高?我可以说说这些不成熟的建议:

1. 阶梯性增值

你目前拿一月多少?3000?5000?10000?对于你的生活来说,这可能关系到你的日常起居饮食,能给宠物买的狗粮牌子,能够买给女朋友的礼物……但,这不是最重要的。工资是一个根据你的职业状态做动态调整的事情,一般来说任何公司和企业都会制定一个基本的薪资标准,比如你的职业年限,岗位重要程度,综合能力评估,KPI考核等。因为公司需要给员工一个持续的希望,这个希望确保团队的稳定和发展。你应该善于利用这一点,合理计算出一个工资的阶梯方程。

比如:你是一个中型企业设计部的人员,入职薪水4000元(税前)每月,公司内部也严格要求各位不允许透露自己的工资数额,但你还是可以计算出来的,首先,你公司的盈利状态(如果是上市公司就更容易计算点)和产品出货量,周期,生产成本告诉了你公司的现金流;其次,市场部的大小,规模,人员积极性告诉了你公司的呆坏账情况还有汇款周期;然后,每个部门的人员配置(一般来说,管理岗位设置较细的公司对于中层管理者的薪水设置是普通员工的0.7 – 1.4倍,高管在3-5倍,除开不确切的分红和股票,只有奖金是浮动比较明显的)情况告诉了你该部门的预算和公司平均预算。 最后,你可以大概估算出你在这个岗位上干2年后薪水的浮动可能是30%,如果有希望走入管理层的话,阶梯的增值又会是多少。

我发现一个奇怪的现象,很多设计师从来不去考虑,计算,衡量这些客观存在的指标,而企图希望通过自己设计能力提升,以业务水平影响到人力资源和管理层的宠幸,主动加薪。现实是,如果你自己心里没有一本账,你永远得不到你该有的工资,你常会听到的话是:1.你还没有向公司证明你的价值;2.公司目前还比较困难,但我们会考虑你的要求;3.其实你现在的工资不低,外面还有很多身价更低的人等着进来工作。我要告诉你的是,提升自己的技能和水平没有错,但同时最好清晰的了解周围的环境和人,如果你的阶梯性增值没有得到公司的重视,外面一定有其他的公司会给你买单的。

2. 预见你的未来

一个优秀的设计师是可以预见自己的未来的,确切的说是预见自己未来的职业盈利能力,是继续在技术上成为行家,还是在管理上有所作为,或者转行到更高的平台发挥智慧。抱怨、不合作、拖沓工作不会给你带来工作的成本递减,相反会让你更快的丧失斗志和竞争力,我常听很多小白说:“公司就给了这么多工资,我只干这么多工资的活。” — 没有错,但大多数小白却没有发现其中的危机,你或许占了一些便宜,或许偷懒得更舒服,带来的并不是工资的增长,这是根本的问题。

健康的做法是在已有的岗位上建立自己未来的资本,如果没有足够的积累和底气,你如何预见可知的盈利?我说的不是骑驴找马,因为很多企业连驴都算不上,你得明白每一天的工作和积累,是为自己奋斗,为自己的家庭、命运、生活努力,你如果希望更高的工资,就按照游戏规则说的那样去争取。你的工资总不涨并不是公司的错,而是你自己浪费了太多的时间、丢掉了太多的机会、忽视了太多的危机,我们可以对团队,对公司没有信心,但绝不能对自己的行业没有信心。

我最讨厌设计师说的话就是:“走一步看一步”,这种不负责任和逃避现实的态度,导致了你就是一个随波逐流的货色,既然你没有对自己的要求,你又有何资格嫉妒那些比你工资高的人?你又如何在羡慕中去达到别人的水平?赚钱的思路和设计的思路并不太一样,不是付出就一定有所回报,如果你的未来情况受限于环境不太乐观,就换一个环境,如果你的未来掌握在你的领导手里,而你的领导没有帮助你的意思,你就应该换一个领导,其实很多朋友只是少了迈出一只脚的勇气。

3. 短期的现金流

对工资的问题还必须从数目上去理解,狭义的工资是每月到你卡上的那些数字,你可以转化成使用的现金,但现金最终都是要花出去的,广义的“工资”在我看来,是你在目前的平台上工作中产生的一切价值回报。这里面包括了,你的绩效奖金,五险一金,部门经费等关于金钱的部分,还有一个高效率的平台,目标清晰的团队,可以节约你的时间,以加速你的职业道路发展,一个稳定的、愉快的工作环境,可以让你心情舒畅,减少职业病的发病率,或者在项目合作中有更多的交流机会,见识外部环境,广结人脉,为以后的职业发展存储资源。

短期的现金流是很诱人的,大多数猎头在谈判中都会明确告诉你基本工资的增幅,却会巧妙隐藏一些工作时间、加班、节假日出差等情况,关于设计师的职业成长中,我建议的价值回报优先级是:时间>成就感>周边福利>工资数额。有不少公司短期高薪挖角,一般干了半年,项目做完就解散了,如果这影响到你的生活状态,那么还是不要接受这种诱惑为佳。

有一些刚出校门的小白,愿意不要工资去一些企业实习,学习,我觉得也不好,走到了另外一个极端。劳动了就一定要给报酬,你不要现金只是表现出你的懦弱和对未来的担心,公司不可能会感受到你的忠诚,工作机会也不会可能留给你。你也许可以这么讲:“我的工资可以比别人少一些,如果我做的好,我希望奖金比别人高一些。”另外,关于社保等问题,建议每2-3个月,自己登录相关职能机构网站检查一次,现在有些公司是不太自觉的,不要只被现金流给迷惑了。

4. 敏锐的职业感觉

如果你工作了2-3年,你可能多少有一些职业感觉了,包括如何与老板相处,如何与同事相处,如何解决矛盾,如何做职业规划。我要说的是,这些技巧都会从侧面帮助你加薪,而敏锐的职业感觉是:如何判断出加薪的要点和可能,从而制造加薪的机会。不做表现是不行的,过于表现也是不行的,加薪最快的方式有三种:1.跳槽;2.突出贡献;3.升职。

第一种是大多数设计师采取的方式,一般都是因为已经和老东家谈崩了,不是不愿意加工资,就是一直在拖,所有一有机会各位就会祭出这种杀手锏。不过这个方法有两处小风险,一是如果新东家和老东家是同行业竞争关系,那么在职业操守上会有点瑕疵,自然像企鹅公司告员工这种事情是很少发生的;二是跳槽后的岗位设置是否能够和你的职业发展线路匹配,因为有很多情况,出于对工资调整的力度的屈服,一部分人选择了并不合适的新平台。

第二种在设计部门稍显困难,因为设计的价值很难在中国市场中衡量,除非你的公司有一定的品牌影响力,否则你的产品最被关注的部分永远不会是设计,如果不能直接为公司挣钱,那么你可以想想办法为公司省钱,这也算一个贡献,比如在国内某大型通信企业,就有设计师因为提出较好的节省成本的意见,而被奖励的。但这种事情一般都是周期性的干,想通过它彻底改变你的工资水平,有点难度。

第三种是全世界都通用的法则,更高的职位意味着更高的工资,甚至有分红和意外奖。设计师绝不能成为单纯的体力劳动,因为我们的社会中对单纯的技术工种缺乏关怀和尊重,担任一定的管理职责,是设计师工资提升的必经途径。虽然有一些公司提出了两条路线(偏管理线,偏技术线)的人才结构模式,但是潜规则就是潜规则,从行为习惯上,管理者的薪资就是要比技术人员高。

敏锐的职业感觉就是了解到自己的真实情况,并选择不同的途径来获得最大的价值回报,这些回报有物质的,也有精神的,更好的回报带来更好的敬业态度,因此工作才能走入一个良性循环中。很多设计师的职业感觉不够,所以才会出现自己能力不够,却还希望拿高薪的窘迫情况。

5. 补充灰色收入

最后,接受灰色收入,是目前你现在既不能跳槽,又无法升职的备用解决方案,因为所有人都要养房,养家,吃饭生病,但是领导是有限的,机会是有限的。通常来看,设计师都是有灰色收入的,来自于私人项目、博客、或者其他合作等,没有灰色收入的设计师一是可能水平太烂,没人找,二是可能自己工资够花了不想这么累。

既然都说到了这个程度,你应该明白,设计师在当前还是一个非高薪职业,如果你想改变工资的数字,既不能依靠公司的怜悯,也不能依靠行业的腾飞,只能靠自己的努力以及对待慢速增长的态度。但是在赚取灰色收入的同时,应该注意以下几点:1. 不要影响正常的工作时间,和利用工作时间干私活;2.私人项目应该和公司的工作没有直接的利益冲突;3.任何时间上,私人项目的紧急程度都应该排在公司的工作之后。如果你忽略了这些原则,有可能你的灰色收入会给你的工资带来一些危机,比如被开除等。

另外,在赚取工资的同时,适当学会理财,投资,建立产业链的各种关系,也可以给你带来不菲的价值,钱再去生钱会比较快,仅靠单纯的工资积累相当辛苦。

http://lytous.ucdchina.com/?p=2360

dede 常用正则

常用正则表达式

平时做网站经常要用正则表达式,下面是一些讲解和例子,仅供大家参考和修改使用:
"^\d+$"  //非负整数(正整数 + 0)
"^[0-9]*[1-9][0-9]*$"  //正整数
"^((-\d+)|(0+))$"  //非正整数(负整数 + 0)
"^-[0-9]*[1-9][0-9]*$"  //负整数
"^-?\d+$"    //整数
"^\d+(\.\d+)?$"  //非负浮点数(正浮点数 + 0)
"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮点数
"^((-\d+(\.\d+)?)|(0+(\.0+)?))$"  //非正浮点数(负浮点数 + 0)
"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //负浮点数
"^(-?\d+)(\.\d+)?$"  //浮点数
"^[A-Za-z]+$"  //由26个英文字母组成的字符串
"^[A-Z]+$"  //由26个英文字母的大写组成的字符串
"^[a-z]+$"  //由26个英文字母的小写组成的字符串
"^[A-Za-z0-9]+$"  //由数字和26个英文字母组成的字符串
"^\w+$"  //由数字、26个英文字母或者下划线组成的字符串
"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"    //email地址
"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"  //url
/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/ // 年-月-日
/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/ // 月/日/年
"^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$" //Emil
/^((\+?[0-9]{2,4}\-[0-9]{3,4}\-)|([0-9]{3,4}\-))?([0-9]{7,8})(\-[0-9]+)?$/ //电话号码
"^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$" //IP地址

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

元字符及其在正则表达式上下文中的行为:

\ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个后向引用、或一个八进制转义符。

^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的Multiline 属性,^ 也匹配 ’\n’ 或 ’\r’ 之后的位置。

$ 匹配输入字符串的结束位置。如果设置了 RegExp 对象的Multiline 属性,$ 也匹配 ’\n’ 或 ’\r’ 之前的位置。

* 匹配前面的子表达式零次或多次。

+ 匹配前面的子表达式一次或多次。+ 等价于 {1,}。

? 匹配前面的子表达式零次或一次。? 等价于 {0,1}。

{n} n 是一个非负整数,匹配确定的n 次。

{n,} n 是一个非负整数,至少匹配n 次。

{n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。在逗号和两个数之间不能有空格。

? 当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。

. 匹配除 "\n" 之外的任何单个字符。要匹配包括 ’\n’ 在内的任何字符,请使用象 ’[.\n]’ 的模式。
(pattern) 匹配pattern 并获取这一匹配。

(?:pattern) 匹配pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。

(?=pattern) 正向预查,在任何匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。

(?!pattern) 负向预查,与(?=pattern)作用相反

x|y 匹配 x 或 y。

[xyz] 字符集合。

[^xyz] 负值字符集合。

[a-z] 字符范围,匹配指定范围内的任意字符。

[^a-z] 负值字符范围,匹配任何不在指定范围内的任意字符。

\b 匹配一个单词边界,也就是指单词和空格间的位置。

\B 匹配非单词边界。

\cx 匹配由x指明的控制字符。

\d 匹配一个数字字符。等价于 [0-9]。

\D 匹配一个非数字字符。等价于 [^0-9]。

\f 匹配一个换页符。等价于 \x0c 和 \cL。

\n 匹配一个换行符。等价于 \x0a 和 \cJ。

\r 匹配一个回车符。等价于 \x0d 和 \cM。

\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。

\S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。

\t 匹配一个制表符。等价于 \x09 和 \cI。

\v 匹配一个垂直制表符。等价于 \x0b 和 \cK。

\w 匹配包括下划线的任何单词字符。等价于’[A-Za-z0-9_]’。

\W 匹配任何非单词字符。等价于 ’[^A-Za-z0-9_]’。

\xn 匹配 n,其中 n 为十六进制转义值。十六进制转义值必须为确定的两个数字长。

\num 匹配 num,其中num是一个正整数。对所获取的匹配的引用。

\n 标识一个八进制转义值或一个后向引用。如果 \n 之前至少 n 个获取的子表达式,则 n 为后向引用。否则,如果 n 为八进制数字 (0-7),则 n 为一个八进制转义值。

\nm标识一个八进制转义值或一个后向引用。如果 \nm 之前至少有is preceded by at least nm 个获取得子表达式,则 nm为后向引用。如果 \nm 之前至少有 n 个获取,则 n 为一个后跟文字 m 的后向引用。如果前面的条件都不满足,若 n 和 m均为八进制数字 (0-7),则 \nm 将匹配八进制转义值 nm。

\nml 如果 n 为八进制数字 (0-3),且 m 和 l 均为八进制数字 (0-7),则匹配八进制转义值 nml。

\un 匹配 n,其中 n 是一个用四个十六进制数字表示的Unicode字符。

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

匹配双字节字符(包括汉字在内):[^x00-xff]

匹配空行的正则表达式:n[s| ]*r

匹配HTML标记的正则表达式:/<(.*)>.*|<(.*) />/

匹配首尾空格的正则表达式:(^s*)|(s*$)

匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*

匹配网址URL的正则表达式:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?

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

用正则表达式限制只能输入中文: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,''))"

=========常用正则式

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

匹配双字节字符(包括汉字在内):[^\x00-\xff]

匹配空行的正则表达式:\n[\s| ]*\r

匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/

匹配首尾空格的正则表达式:(^\s*)|(\s*$)

匹配IP地址的正则表达式:/(\d+)\.(\d+)\.(\d+)\.(\d+)/g //

匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

匹配网址URL的正则表达式:http://(/[\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?

sql语句:^(select|drop|delete|create|update|insert).*$

1、非负整数:^\d+$

2、正整数:^[0-9]*[1-9][0-9]*$

3、非正整数:^((-\d+)|(0+))$

4、负整数:^-[0-9]*[1-9][0-9]*$

5、整数:^-?\d+$

6、非负浮点数:^\d+(\.\d+)?$

7、正浮点数:^((0-9)+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$

8、非正浮点数:^((-\d+\.\d+)?)|(0+(\.0+)?))$

9、负浮点数:^(-((正浮点数正则式)))$

10、英文字符串:^[A-Za-z]+$

11、英文大写串:^[A-Z]+$

12、英文小写串:^[a-z]+$

13、英文字符数字串:^[A-Za-z0-9]+$

14、英数字加下划线串:^\w+$

15、E-mail地址:^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$

16、URL:^[a-zA-Z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\s*)?$
或:^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$

17、邮政编码:^[1-9]\d{5}$

18、中文:^[\u0391-\uFFE5]+$

19、电话号码:^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$

20、手机号码:^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$

21、双字节字符(包括汉字在内):^\x00-\xff

22、匹配首尾空格:(^\s*)|(\s*$)(像vbscript那样的trim函数)

23、匹配HTML标记:<(.*)>.*<\/\1>|<(.*) \/>

24、匹配空行:\n[\s| ]*\r

25、提取信息中的网络链接:(h|H)(r|R)(e|E)(f|F) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?

26、提取信息中的邮件地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

27、提取信息中的图片链接:(s|S)(r|R)(c|C) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?

28、提取信息中的IP地址:(\d+)\.(\d+)\.(\d+)\.(\d+)

29、提取信息中的中国手机号码:(86)*0*13\d{9}

30、提取信息中的中国固定电话号码:(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}

31、提取信息中的中国电话号码(包括移动和固定电话):(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}

32、提取信息中的中国邮政编码:[1-9]{1}(\d+){5}

33、提取信息中的浮点数(即小数):(-?\d*)\.?\d+

34、提取信息中的任何数字 :(-?\d*)(\.\d+)?

35、IP:(\d+)\.(\d+)\.(\d+)\.(\d+)

36、电话区号:/^0\d{2,3}$/

37、腾讯QQ号:^[1-9]*[1-9][0-9]*$

38、帐号(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$

39、中文、英文、数字及下划线:^[\u4e00-\u9fa5_a-zA-Z0-9]+$

    Page :