//校验是否全由数字组成
function isdigit(s)
{
var patrn=/^[0-9]{1,20}$/;
if (!patrn.exec(s)) return false
return true
}
//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串
function isregisterusername(s)
{
var patrn=/^[a-za-z]{1}([a-za-z0-9]|[._]){4,19}$/;
if (!patrn.exec(s)) return false
return true
}
//校验用户姓名:只能输入1-30个以字母开头的字串
function istruename(s)
{
var patrn=/^[a-za-z]{1,30}$/;
if (!patrn.exec(s)) return false
return true
}
//校验密码:只能输入6-20个字母、数字、下划线
function ispasswd(s)
{
var patrn=/^(\w){6,20}$/;
if (!patrn.exec(s)) return false
return true
}
//校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-”
function istel(s)
{
//var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/;
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}
//校验手机号码:必须以数字开头,除数字外,可含有“-”
function ismobil(s)
{
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}
//校验邮政编码
function ispostalcode(s)
{
//var patrn=/^[a-za-z0-9]{3,12}$/;
var patrn=/^[a-za-z0-9 ]{3,12}$/;
if (!patrn.exec(s)) return false
return true
}
//校验搜索关键字
function issearch(s)
{
var patrn=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:;\'\,./?]{1}[^`~!@$%^&()+=|\\\][\]\{\}:;\'\,.?]{0,19}$/;
if (!patrn.exec(s)) return false
return true
}
function isip(s) //by zergling
{
var patrn=/^[0-9.]{1,20}$/;
if (!patrn.exec(s)) return false
return true
}
/*********************************************************************************
* function: isbetween
* parameters: val as any value
* lo as lower limit to check
* hi as higher limit to check
* calls: nothing
* returns: true if val is between lo and hi both inclusive, otherwise false.
***************
******************************************************************/
function isbetween (val, lo, hi) {
if ((val hi)) { return(false); }
else { return(true); }
}
/*********************************************************************************
* function: isdate checks a valid date
* parameters: thestr as string
* calls: isbetween, isint
* returns: true if thestr is a valid date otherwise false.
**********************************************************************************/
function isdate (thestr) {
var the1st = thestr.indexof('-');
var the2nd = thestr.lastindexof('-');
if (the1st == the2nd) { return(false); }
else {
var y = thestr.substring(0,the1st);
var m = thestr.substring(the1st+1,the2nd);
var d = thestr.substring(the2nd+1,thestr.length);
var maxdays = 31;
if (isint(m)==false || isint(d)==false || isint(y)==false) {
return(false); }
else if (y.length else if (!isbetween (m, 1, 12)) { return(false); }
else if (m==4 || m==6 || m==9 || m==11) maxdays = 30;
else if (m==2) {
if (y % 4 > 0) maxdays = 28;
else if (y % 100 == 0 && y % 400 > 0) maxdays = 28;
else maxdays = 29;
}
if (isbetween(d, 1, maxdays) == false) { return(false); }
else { return(true); }
}
}
/*********************************************************************************
* function: iseudate checks a valid date in british format
* parameters: thestr as string
* calls: isbetween, isint
* returns: true if thestr is a valid date otherwise false.
**********************************************************************************/
function iseudate (thestr) {
if (isbetween(thestr.length, 8, 10) == false) { return(false); }
else {
var the1st = thestr.indexof('/');
var the2nd = thestr.lastindexof('/');
if (the1st == the2nd) { return(false); }
else {
var m = thestr.substring(the1st+1,the2nd);
var d = thestr.substring(0,the1st);
var y = thestr.substring(the2nd+1,thestr.length);
var maxdays = 31;
if (isint(m)==false || isint(d)==false || isint(y)==false) {
return(false); }
else if (y.length else if (isbetween (m, 1, 12) == false) { return(false); }
else if (m==4 || m==6 || m==9 || m==11) maxdays = 30;
else if (m==2) {
if (y % 4 > 0) maxdays = 28;
else if (y % 100 == 0 && y % 400 > 0) maxdays = 28;
else maxdays = 29;
}
if (isbetween(d, 1, maxdays) == false) { return(false); }
else { return(true); }
}
}
}
/********************************************************************************
* function: compare date! which is the latest!
* parameters: lessdate,moredate as string
* calls: isdate,isbetween
* returns: true if lessdate*********************************************************************************/
function iscomdate (lessdate , moredate)
{
if (!isdate(lessdate)) { return(false);}
if (!isdate(moredate)) { return(false);}
var less1st = lessdate.indexof('-');
var less2nd = lessdate.lastindexof('-');
var more1st = moredate.indexof('-');
var more2nd = moredate.lastindexof('-');
var lessy = lessdate.substrin(0,less1st);
var lessm = lessdate.substring(less1st+1,less2nd);
var lessd = lessdate.substring(less2nd+1,lessdate.length);
var morey = moredate.substring(0,more1st);
var morem = moredate.substring(more1st+1,more2nd);
var mored = moredate.substring(more2nd+1,moredate.length);
var date1 = new date(lessy,lessm,lessd);
var date2 = new date(morey,morem,mored);
if (date1>date2) { return(false);}
return(true);
}
/*********************************************************************************
* function isempty checks if the parameter is empty or null
* parameter str as string
**********************************************************************************/
function isempty (str) {
if ((str==null)||(str.length==0)) return true;
else return(false);
}
/*********************************************************************************
* function: isint
* parameter: thestr as string
* returns: true if the passed parameter is an integer, otherwise false
* calls: isdigit
**********************************************************************************/
function isint (thestr) {
var flag = true;
if (isempty(thestr)) { flag=false; }
else
{ for (var i=0; iif (isdigit(thestr.substring(i,i+1)) == false) {
flag = false; break;
}
}
}
return(flag);
}
/*********************************************************************************
* function: isreal
* parameter: hestr as string
declen as integer (how many digits after period)
* returns: true if thestr is a float, otherwise false
* calls: isint
**********************************************************************************/
function isreal (thestr, declen) {
var dot1st = thestr.indexof('.');
var dot2nd = thestr.lastindexof('.');
var k = true;
if (isempty(thestr)) return false;
if (dot1st == -1) {
if (!isint(thestr)) return(false);
else return(true);
}
else if (dot1st != dot2nd) return (false);
else if (dot1st==0) return (false);
else {
var intpart = thestr.substring(0, dot1st);
var decpart = thestr.substring(dot2nd+1);
if (decpart.length > declen) return(false);
else if (!isint(intpart) || !isint(decpart)) return (false);
else if (isempty(decpart)) return (false);
else return(true);
}
}
/*********************************************************************************
* function: isemail
* parameter: string (email address)
* returns: true if the string is a valid email address
* false if the passed string is not a valid email address
* email format: anyname@emailserver e.g; webmaster@hotmail.com
* @ sign can appear only once in the email address.
*********************************************************************************/
function isemail (thestr) {
var atindex = thestr.indexof('@');
var dotindex = thestr.indexof('.', atindex);
var flag = true;
thesub = thestr.substring(0, dotindex+1)
if ((atindex { return(false); }
else { return(true); }
}
/*********************************************************************************
* function: newwindow
* parameters: doc -> document to open in the new window
hite -> height of the new window
wide -> width of the new window
bars -> 1-scrll bars = yes 0-scroll bars = no
resize -> 1-resizable = yes 0-resizable = no
* calls: none
* returns: new window instance
**********************************************************************************/
function newwindow (doc, hite, wide, bars, resize) {
var winnew=_blank;
var pt=toolbar=0,location=0,directories=0,status=0,menubar=0,;
opt+=(scrollbars=+bars+,);
opt+=(resizable=+resize+,);
opt+=(width=+wide+,);
opt+=(height=+hite);
winhandle=window.open(doc,winnew,opt);
return;
}
/*********************************************************************************
* function: decimalformat
* parameters: paramvalue -> field value
* calls: none
* returns: formated string
**********************************************************************************/
function decimalformat (paramvalue) {
var intpart = parseint(paramvalue);
var decpart =parsefloat(paramvalue) - intpart;
str = ;
if ((decpart == 0) || (decpart == null)) str += (intpart + .00);
else str += (intpart + decpart);
return (str);
}
^\\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