<!--
validate.htc
-->
<public:component>
<public:property get="getempty" name="empty"/>
<public:property get="getzero" name="zero"/>
<public:property get="getinteger" name="integer"/>
<public:property get="getfloat" name="float"/>
<public:property get="getudate" name="udate"/>
<public:property get="getmoney" name="money"/>
<public:property get="geturl" name="url"/>
<public:property get="getemail" name="email" />
<public:property get="getsphone" name="sphone"/>
<public:property get="getlphone" name="lphone"/>
<public:property get="getphone" name="phone"/>
<public:property get="getcellphone" name="cellphone"/>
<public:property name="regexp"/>
<public:property name="validation"/>
<public:property name="message"/>
<public:method name="validate"/>
<script language="javascript" type="text/javascript">
//@region private fields
var bempty = 0x1;
var bzero = 0x2;
var binteger = 0x4;
var bfloat = 0x8;
var bdate = 0x10;
var bmoney = 0x20;
var bemail = 0x40;
var burl = 0x80;
var bsphone = 0x100;
var blphone = 0x200;
var bphone = 0x300;
var bcellphone = 0x400;
var regint = /^(([+]|[-])?0|([1-9][0-9]*))?$/; //整数
var regfloat = /^(([+]|[-])?0|([1-9][0-9]*)([.][0-9]+)?)?$/; //浮点数
var regmoney = /^((0|[1-9][0-9]*)(.[0-9]{1,2})?)?$/; //货币
var regsphone = /^([0-9]{6,8}([-][0-9]{3,6})?)?$/; //电话号码(短)
var reglphone = /^([0-9]{3,4}[-][0-9]{6,8}([-][0-9]{3,6})?)?$/; //电话号码(长)
var regemail = /^(\w+[@]\w+([.]\w+)+)?$/; //电子邮件
var regurl = /^((http:[/][/])?\w+([.]\w+|[/]\w*)*)?$/; //网页地址
var regcellphone = /^([0-9]{11})?$/; //手机号码
function getempty()
{
return bempty;
}
function getzero()
{
return bzero;
}
function getinteger()
{
return binteger;
}
function getfloat()
{
return bfloat;
}
function getudate()
{
return bdate;
}
function getmoney()
{
return bmoney;
}
function getemail()
{
return bemail;
}
function geturl()
{
return burl;
}
function getsphone()
{
return bsphone;
}
function getlphone()
{
return blphone;
}
function getphone()
{
return bphone;
}
function getcellphone()
{
return bcellphone;
}
//@end region
//@region private methods
function isempty(text){
if (text == "")
{
return true;
}
var regpattern = /^\s+$/;
return regpattern.test(text);
}
function iszero(text){
if(text != null && text == 0)return true;
return false;
}
function checkdate(text){
if(text.length==0)
return true;
if(text.length!=10)
return false;
var date=new date(text.substring(0,4),text.substring(5,7),text.substring(8));
if(date=="nan")
return false;
return true;
}
//@end region
//@region events
function validate(dosubmit)
{
var valid = eval(validation);
if (regexp != null)
{
var validpattern = new regexp("^("+regexp+")?$", "m");
if (false == validpattern.test(value))
{
if (message == null)
alert(title+" 输入格式不正确");
else
alert(message);
this.focus();
return false;
}
}
if (valid & empty && isempty(value)) //判断是否为空
{
if (message == null)
alert(title+" 不能为空");
else
alert(message);
this.focus();
return false;
}
if (valid & zero && iszero(value))
{
if (message == null)
alert(title+" 不能为0");
else
alert(message);
this.focus();
return false;
}
if (valid & integer && !regint.test(value))
{
if (message == null)
alert(title+" 必须为整数");
else
alert(message);
this.focus();
return false;
}
if (valid & float && !regfloat.test(value))
{
if (message == null)
alert(title+" 必须为数值(整数或小数)");
else
alert(message);
this.focus();
return false;
}