分类目录归档:二次开发

SuperHost v1.0,代替IIS的工具支持虚拟主机

程序下载测试地址:http://www.miaoqiyuan.cn/products/superhost.zip

运行程序包中的DEMO将自动创建127.0.0.1-127.0.0.255共255个虚拟主机,通过127.0.0.*可以访问对应的虚拟主机,完美支持ASP,web目录为webroot,该文件包大小为627KB。

SuperHost

#1 基础功能说明:
默认创建一个WEB服务器,根文件夹即程序文件所在文件夹

#2 虚拟主机说明:
在程序文件夹下创建一个文件夹A,该文件夹名即为对应该虚拟主机的IP或域名;
如果创建的文件夹下存在wwwroot子文件夹,则wwwroot为虚拟主机的根文件夹;
同上,webroot,www,web也可自动设为虚拟主机的根文件夹;
如果创建的文件夹下存在public子文件夹,则虚拟主机将设public为虚拟主机根文件夹,并开启文件夹浏览;
优先级:wwwroot > webroot > www > web > public
如果没有上面的子文件夹,则新建的文件夹A为虚拟主机根文件夹。

#3 虚拟主机没有默认索引文件(index.html,index.htm,default.html,default.htm,index.asp, defalut.asp),则把”默认页面.html”复制到虚拟主机文件夹,并设为首页,没有”默认页面.html”则输出程序本人留的版权信息。

#4 日志(log.txt)功能能详细记录程序的运行状态。

#5 程序使用Netbox,本人只是二次开发,使程序更加智能

#6 成功案例

(1)小明是一个电脑爱好者,没事喜欢到网上下载个ASP的CMS调试调试,因为只是兴趣,没有必要安装Window Server版本,用XP默认的IIS调试,来回切换子目录实在郁闷,而且XP还有IIS线程限制
解决方案:
1.下载本程序的免费版本,然后放到任意文件夹
2.创建子文件夹127.0.0.1,然后把网上下载的ASP程序解压到该目录
3.创建子文件夹127.0.0.2,然后把网上下载的第二个ASP程序解压到该目录
4….
n.运行本程序,可以通过127.0.0.1访问第一个程序,通过127.0.0.2访问第二个程序

(2)李先生是一个网络公司的技术员,公司接了很多企业站的单子,每做一个企业站都要设置IIS。有时客户来了给客户演示,有时候几个月前的网站都翻出来了,还要配置IIS。当重装系统后,IIS配置更是头痛,浪费了很多时间
解决方案:
1.购买本程序的专业版(50元/套),然后放到任意文件夹
2.直接把程序放在网站完成搞文件夹,可以是任何文件名,与访问地址无关,该版本访问地址由dns.txt控制,可添加多条
3.在完成搞文件夹中添加”dns.txt”文件,并添加访问域名或IP,每个一行
4.运行专业版程序,即可轻松调试多个网站,因为程序是绿色的可以放在任何文件夹,重装系统就不怕重新配置了
5.站点太多了速度怎么办?在文件夹前加”-“就不会检查”dns.txt”了。

(3)苗经理开了家网络公司,看到本程序能通过文本文件,文件夹来设置访问域名,于是和我联系,用我提供的API,很快就开发出一个需要的网站管理系统,这样就能省下不少购买华众授权的费用了。

#7 软件版本:
SuperHost 免费 无使用者限制 无服务时间
SuperHost pro 50元 无使用者限制 加30元=技术支持一年
SuperHost with api 500元 无使用者限制 技术支持五年,免费定制一个API接口

#8 服务价格:
SuperHost 配置:10元
SuperHost pro配置虚拟主机:80元,包含SuperHost pro,技术支持一年
SuperHost with api的API开发:根据难度500-5000不等.

#9 作者联系方式
QQ:283898865(+飞猫)
E-mail:mqycn@126.com
Http://www.miaoqiyuan.cn

常用正则表达式

匹配空行的正则表达式:\n[\s| ]*\r
匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/

匹配首尾空格的正则表达式:(^\s*)|(\s*$)
应用:javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现,如下:
String.prototype.trim = function()
{
return this.replace(/(^\s*)|(\s*$)/g, “”);
}

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

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

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(“Not a valid IP address!”)
}
}
不过上面的程序如果不用正则表达式,而直接用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))

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

匹配网址URL的正则表达式:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
得用正则表达式从URL地址中提取文件名的javascript程序,如下结果为page1

s=” http://www.9499.net/page1.htm” ;
s=s.replace(/(.*\/){0,}([^\.]+).*/ig,”$2″)
alert(s)

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

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

用正则表达式限制只能输入全角字符: onkeyup=”value=”/oblog4/value.replace(/[“^\uFF00-\uFFFF]/g,)”
onbeforepaste=”clipboardData.setData(text,clipboardData.getData(text).replace(/[^\uFF00-\uFFFF]/g,))”

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

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