﻿
/*

Company:imStudio
Author:Song Haipeng
Email:Songhaipeng@gmail.com
Date:2009-05-15
Version:0.1

*/

imScript = {

/*
方法名：BoundRandom生成在两个边界间的随机数
参数：min最小数；max最大数
*/
BoundRandom : function (min,max)
{
    var min = parseFloat(min);
    var max = parseFloat(max);
    return Math.random() * (min - max) + max;
},




/*
方法名：isNum是否输入为数字
参数：str输入值
*/
isNum : function (str){
 	var p = /^\d+$/; 
 	return p.test(str);
},

/*
方法名：isInt是否输入为整数
参数：str输入值
*/
isInt : function (str){
 	var p = /^[-\+]?\d+$/; 
 	return p.test(str);
},

/*
方法名：isEmail是否输入为电子邮件
参数：str输入值
*/
isEmail : function (str){
 	var p = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/; 
 	return p.test(str);
},

/*
方法名：isUrl是否输入为网址
参数：str输入值
*/
isUrl : function (str){
 	var p = /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/; 
 	return p.test(str);
},

/*
方法名：isChinese是否输入为中文
参数：str输入值
*/
isChinese : function (str){
 	var p = /^[\u0391-\uFFE5]+$/; 
 	return p.test(str);
},

/*
方法名：isZipcode是否输入为邮政编码
参数：str输入值
*/
isZipcode : function (str){
 	var p = /^\d{6}$/; 
 	return p.test(str);
},

/*
方法名：isVerifyCode是否输入为验证码
参数：str输入值
*/
isVerifyCode : function (str){
 	var p = /^\d{4}$/; 
 	return p.test(str);
},

/*
方法名：isMobile是否输入为手机号码
参数：str输入值
*/
isMobile : function (str){
 	var p = /^[0]?(13|15){1}\d{9}$/; 
 	return p.test(str);
},

/*
方法名：isPhone是否输入为固定电话
参数：str输入值
*/
isPhone : function (str){
 	var p = /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/; 
 	return p.test(str);
},

/*
方法名：isTel是否输入为电话
参数：str输入值
*/
isTel : function (str){
 	var p = /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/; 
 	return p.test(str);
},

/*
方法名：isImage是否输入为图片
参数：str输入值
*/
isImage : function (str){
 	var p = /(.*)\\.(jpg|bmp|gif|ico|pcx|jpeg|tif|png|raw|tga)$/; 
 	return p.test(str);
},

/*
方法名：isRar是否输入为压缩文件
参数：str输入值
*/
isRar : function (str){
 	var p = /(.*)\\.(rar|zip|7zip|tgz)$/; 
 	return p.test(str);
},

/*
方法名：isUsername是否输入为字符串。匹配由数字、26个英文字母或者下划线组成的字符串
参数：str输入值
*/
isUsername : function (str){
 	var p = /^[a-zA-Z0-9\-]{6,20}$/i; 
 	return p.test(str);
},

/*
方法名：isLetter是否输入为字字母
参数：str输入值
*/
isLetter : function (str){
 	var p = /^[A-Za-z]+$/; 
 	return p.test(str);
},

/*
方法名：isTime是否输入为时间(13:04:06)
参数：str输入值
*/
isTime : function (str)
{
	var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
	if (a == null) {return false}
	if (a[1]>24 || a[3]>60 || a[4]>60)
	{
		return false;
	}
	return true;
},

/*
方法名：isDate是否输入为日期(2003-12-05)
参数：str输入值
*/
isDate : function (str)
{
	var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/); 
	if(r==null)return false; 
	var d= new Date(r[1], r[3]-1, r[4]); 
	return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
},

/*
方法名：isDateTime是否输入为日期时间(2003-12-05 13:04:06)
参数：str输入值
*/
isDateTime : function (str)
{
	var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/; 
	var r = str.match(reg); 
	if(r==null) return false; 
	var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]); 
	return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
}


}
