分类目录归档:建站系统

非常有用的正则表达式

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

用正则表达式限制只能输入中 文:onkeyup=”value=value.replace(/[^\u4E00-\u9FA5]/g,”)” ōnbeforepaste=”clipboardData.setData(‘text’,clipboardData.getData(‘text’).replace(/[^\u4E00-\u9FA5]/g,”))”

1.用正则表达式限制只能输入全角字符: ōnkeyup=”value=value.replace(/[^\uFF00-\uFFFF]/g,”)” ōnbeforepaste=”clipboardData.setData(‘text’,clipboardData.getData(‘text’).replace(/[^\uFF00-\uFFFF]/g,”))”

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

3.用正则表达式限制只能输入数字和英文:onkeyup=”value=value.replace(/[\W]/g,”) “onbeforepaste=”clipboardData.setData(‘text’,clipboardData.getData(‘text’).replace(/[^\d]/g,”))”

4.计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

String.prototype.len=function(){return this.replace([^\x00-\xff]/g,”aa”).length;}

5.javascrīpt中没有像vbscrīpt那样的trim函数,我们就可以利用这个表达式来实现,如下:

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

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

6.下面是利用正则表达式匹配IP地址,并将IP地址转换成对应数值的Javascrīpt程序:

function IP2V(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(“不是一个正确的IP地址!”)
}
}

不过上面的程序如果不用正则表达式,而直接用split函数来分解可能更简单,程序如下:

var ip=”10.100.20.168″
ip=ip.split(“.”)
alert(“IP值是:”+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1))
正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。

匹配中文字符的正则表达式: [\u4e00-\u9fa5]
评注:匹配中文还真是个头疼的事,有了这个表达式就好办了

匹配双字节字符(包括汉字在内):[^\x00-\xff]
评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

匹配空白行的正则表达式:\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}
评注:匹配形式如 0511-4405222 或 021-87888822

匹配腾讯QQ号:[1-9][0-9]{4,}
评注:腾讯QQ号从10000开始

匹配中国邮政编码:[1-9]\d{5}(?!\d)
评注:中国邮政编码为6位数字

匹配身份证:\d{15}|\d{18}
评注:中国的身份证为15位或18位

匹配ip地址:\d+\.\d+\.\d+\.\d+
评注:提取ip地址时有用

匹配特定数字:
^[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个英文字母或者下划线组成的字符串
评注:最基本也是最常用的一些表达式

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

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

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

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

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

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

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

惊喜:kingcms.php现身googlecode 及我的使用体会

盼星星盼月亮,终于把大名顶顶的kingcms.php盼出来了。很兴奋。

同样简洁的管理后台,熟悉的后台管理模式,功能相当多的kingcms.php 1.0 代码终于被我拿到了。
我不会代码,只会使用,下面把我的使用体会写出来
kingcms.php使用小结及bug报告

1 会员ajax登入,验证码无法显示,后台不能取消验证码功能。
2 会员html登入,验证码总超时,后台文章缓存为1970-01-01,不知道是我服务器的原因还是。。。
3 后台,页面底部显示为[Copyright @ KingCMS.com All Rights Reserved. ~ 20 毫妙],错别字一个
4 管理首页,快捷方式下图标文字 在chrome 显示为小字体,不方便阅读。
5 取消了kc5的菜单完全自定义,觉得这个功能不错
6 栏目首页,在[生成],[删除]按钮右边[更多操作]点击小三角形后,下拉菜单无法消失,一直挂在那里,

影响阅读(chrome下)
7 整合ucenter功能,不知道如何设置,情况如此:kingcms系统和ucenter系统在同一根目录下的不同目录无

法使用绝对地址
8 后台自定义模型和用户系统 都有一个~ ,不明白什么意思.
9 很多操作完成后,ajax提示框的确定按钮没有作用,只能通过小叉叉关闭该提示框,建议增加2~3秒后自动

关闭功能.
10 后台主菜单的下拉菜单建议增加边框, 要不与下面内容分不清.
页面导航条:< Previous 1 Next > 语言选择简体中文仍然有英文出现,改为< 上一页 1 下一页> 会好点吧
11用户组管理功能应该还没做好吧?页面为空白
12 编辑器nicedit 无法显示源文件,有还是好点
先写这么多吧!

小巧好用的ASP网站程序-5UCMS

最近在做网站时发现了一个非常小巧非常好用的ASP建站程序无忧网络-5UCMS。相对与自己比较熟悉的kingcms,无忧5UCMS就是后台无法DIY,的确有点不爽。
无忧5UCMS,很简约。非常喜欢他的自带模版,简约再简约,黑白两色的主题,没有任何累赘,特喜欢那pagebar(页面底部的导航条)和那个[Go]框框。

官方地址:无忧网络
适合放5ucms系统的虚拟空间主机,比较实惠

当然,现在的建站程序没有全自动生成静态页面,那是没法混的,无忧做得很不错 ,很SEO

IIS要求(虚拟主机商都支持):
IIS5 或 IIS6, 支持 ASP/ACCESS, Adodb.Stream, 需要使用 Scripting.FileSystemObject, Microsoft.XMLHTTP 组件
权限要求:
对ACCESS数据库要有读取和写入权限,如果操作时出错提示为不可写入则说明数据库没有写入权限,同样在生成HTML文件时也需要写入权限

lazycms的用户定位何在?

先说说kingcms,它是一款asp语言的轻量级cms系统。它的后台是完全模块化,完全自定义,前台标签非常灵活的免费开源cms系统,我的淘YOUR宝在线电影和flash小游戏就是kingcms搭建的,虽然不是很好,但是可以看到小巧的kingcms也五脏俱全,完全不输于动易和风讯。

好像跑题了,我将要介绍的是基于php5的lazycms,它的开发人员目前只有一个,就是Lukin 。用过kingcms的人都知道看kingcms的魅力。而lazycms目前是和kingcms几乎一模一样的。请你们试一试就知道了,一开始可能不知道怎么上手,但是很简单,kingcms有很多帮助。同样的适用于lazycms。

我现在说说 lazycms的用户定位:

kingcms的定位是企业建站系统。在国内网络环境下,主流程序语言是asp。所以kingcms会有很好的发展,因为她的定位很准确。但是我们的lazycms,是基于php5,用php的人也很多,而且都是php4。我知道,手头上没有php5空间的人,想接触到lazycms是不可能的,更不能知道lazycms的魅力所在。试想一下,有多少站长和多少企业,他们拥有php5的空间?而更多的是,站长们和企业们只有asp和php4,所以他们无缘与lazycms这样的优秀系统接触到。那么我们的lazycms开发出来是给谁用的呢?

所以,我建议,把lazycms的用户定位在博客系统,然后往企业站和其他方面应用的站点切入。
并不是很多人都搞cms,但有很多人写博客。
因为一个人,建立一个自己的独立博客是很容易的,但是他们没有很好的空间。所以lazycms可以在php4里开发,开发一个博客模块。这样,我们这群博友们就可以很容易的接触到lazycms,直至用lazycms做自己的站,让lazycms得到更好的发展。

分析:国内甚至国外,几乎很少有全站生成html的php博客程序。
我们都知道,asp有 z-blog , cgi有 Movable Type。但是在php里我还不知道有什么博客程序是全站静态的。 (如有谁知道请告诉我,呵呵),在SEO界里,z-blog是响当当的有名的。著名的davidyin的SEO博客,也因为cgi的Movable Type 全站生成静态页面使用Movable Type。可见全站生成静态页面的魅力所在。

请lukin仔细研究下lazycms的用户定位