您的位置:首页 > Web前端 > JavaScript

javascript 常用代码大全(3)

2008-01-31 16:25 721 查看
针对javascript的几个对象的扩充函数

function checkBrowser()

{

this.ver=navigator.appVersion

this.dom=document.getElementById?1:0

this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom)?1:0;

this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0;

this.ie4=(document.all && !this.dom)?1:0;

this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;

this.ns4=(document.layers && !this.dom)?1:0;

this.mac=(this.ver.indexOf('Mac') > -1) ?1:0;

this.ope=(navigator.userAgent.indexOf('Opera')>-1);

this.ie=(this.ie6 || this.ie5 || this.ie4)

this.ns=(this.ns4 || this.ns5)

this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns5 || this.ns4 || this.mac || this.ope)

this.nbw=(!this.bw)
return this;

}

/*

******************************************

日期函数扩充

******************************************

*/

/*

===========================================

//转换成大写日期(中文)

===========================================

*/

Date.prototype.toCase = function()

{

var digits= new Array('零','一','二','三','四','五','六','七','八','九','十','十一','十二');

var unit= new Array('年','月','日','点','分','秒');

var year= this.getYear() + "";

var index;

var output="";

////////得到年

for (index=0;index<year.length;index++ )

{

output += digits[parseInt(year.substr(index,1))];

}

output +=unit[0];

///////得到月

output +=digits[this.getMonth()] + unit[1];

///////得到日

switch (parseInt(this.getDate() / 10))

{

case 0:

output +=digits[this.getDate() % 10];

break;

case 1:

output +=digits[10] + ((this.getDate() % 10)>0?digits[(this.getDate() % 10)]:"");

break;

case 2:

case 3:

output +=digits[parseInt(this.getDate() / 10)] + digits[10] + ((this.getDate() % 10)>0?digits[(this.getDate() % 10)]:"");

default:

break;

}

output +=unit[2];

///////得到时

switch (parseInt(this.getHours() / 10))

{

case 0:

output +=digits[this.getHours() % 10];

break;

case 1:

output +=digits[10] + ((this.getHours() % 10)>0?digits[(this.getHours() % 10)]:"");

break;

case 2:

output +=digits[parseInt(this.getHours() / 10)] + digits[10] + ((this.getHours() % 10)>0?digits[(this.getHours() % 10)]:"");

break;

}

output +=unit[3];

if(this.getMinutes()==0&&this.getSeconds()==0)

{

output +="整";

return output;

}

///////得到分

switch (parseInt(this.getMinutes() / 10))

{

case 0:

output +=digits[this.getMinutes() % 10];

break;

case 1:

output +=digits[10] + ((this.getMinutes() % 10)>0?digits[(this.getMinutes() % 10)]:"");

break;

case 2:

case 3:

case 4:

case 5:

output
+=digits[parseInt(this.getMinutes() / 10)] + digits[10] +
((this.getMinutes() % 10)>0?digits[(this.getMinutes() % 10)]:"");

break;

}

output +=unit[4];

if(this.getSeconds()==0)

{

output +="整";

return output;

}

///////得到秒

switch (parseInt(this.getSeconds() / 10))

{

case 0:

output +=digits[this.getSeconds() % 10];

break;

case 1:

output +=digits[10] + ((this.getSeconds() % 10)>0?digits[(this.getSeconds() % 10)]:"");

break;

case 2:

case 3:

case 4:

case 5:

output
+=digits[parseInt(this.getSeconds() / 10)] + digits[10] +
((this.getSeconds() % 10)>0?digits[(this.getSeconds() % 10)]:"");

break;

}

output +=unit[5];

return output;

}

/*

===========================================

//转换成农历

===========================================

*/

Date.prototype.toChinese = function()

{

//暂缺

}

/*

===========================================

//是否是闰年

===========================================

*/

Date.prototype.isLeapYear = function()

{

return (0==this.getYear()%4&&((this.getYear()%100!=0)||(this.getYear()%400==0)));

}

/*

===========================================

//获得该月的天数

===========================================

*/

Date.prototype.getDayCountInMonth = function()

{

var mon = new Array(12);

mon[0] = 31; mon[1] = 28; mon[2] = 31; mon[3] = 30; mon[4] = 31; mon[5] = 30;

mon[6] = 31; mon[7] = 31; mon[8] = 30; mon[9] = 31; mon[10] = 30; mon[11] = 31;

if(0==this.getYear()%4&&((this.getYear()%100!=0)||(this.getYear()%400==0))&&this.getMonth()==2)

{

return 29;

}

else

{

return mon[this.getMonth()];

}

}

/*

===========================================

//日期比较

===========================================

*/

Date.prototype.Compare = function(objDate)

{

if(typeof(objDate)!="object" && objDate.constructor != Date)

{

return -2;

}

var d = this.getTime() - objDate.getTime();

if(d>0)

{

return 1;

}

else if(d==0)

{

return 0;

}

else

{

return -1;

}

}

/*

===========================================

//格式化日期格式

===========================================

*/

Date.prototype.Format = function(formatStr)

{

var str = formatStr;

str=str.replace(/yyyy|YYYY/,this.getFullYear());

str=str.replace(/yy|YY/,(this.getYear() % 100)>9?(this.getYear() % 100).toString():"0" + (this.getYear() % 100));

str=str.replace(/MM/,this.getMonth()>9?this.getMonth().toString():"0" + this.getMonth());

str=str.replace(/M/g,this.getMonth());

str=str.replace(/dd|DD/,this.getDate()>9?this.getDate().toString():"0" + this.getDate());

str=str.replace(/d|D/g,this.getDate());

str=str.replace(/hh|HH/,this.getHours()>9?this.getHours().toString():"0" + this.getHours());

str=str.replace(/h|H/g,this.getHours());

str=str.replace(/mm/,this.getMinutes()>9?this.getMinutes().toString():"0" + this.getMinutes());

str=str.replace(/m/g,this.getMinutes());

str=str.replace(/ss|SS/,this.getSeconds()>9?this.getSeconds().toString():"0" + this.getSeconds());

str=str.replace(/s|S/g,this.getSeconds());

return str;

}

/*

===========================================

//由字符串直接实例日期对象

===========================================

*/

Date.prototype.instanceFromString = function(str)

{

return new Date("2004-10-10".replace(/-/g, ""/"));

}

/*

===========================================

//得到日期年月日等加数字后的日期

===========================================

*/

Date.prototype.dateAdd = function(interval,number)

{

var date = this;

switch(interval)

{

case "y" :

date.setFullYear(date.getFullYear()+number);

return date;

case "q" :

date.setMonth(date.getMonth()+number*3);

return date;

case "m" :

date.setMonth(date.getMonth()+number);

return date;

case "w" :

date.setDate(date.getDate()+number*7);

return date;

case "d" :

date.setDate(date.getDate()+number);

return date;

case "h" :

date.setHours(date.getHours()+number);

return date;

case "m" :

date.setMinutes(date.getMinutes()+number);

return date;

case "s" :

date.setSeconds(date.getSeconds()+number);

return date;

default :

date.setDate(d.getDate()+number);

return date;

}

}

/*

===========================================

//计算两日期相差的日期年月日等

===========================================

*/

Date.prototype.dateDiff = function(interval,objDate)

{

//暂缺

}

/*

******************************************

数字函数扩充

******************************************

*/

/*

===========================================

//转换成中文大写数字

===========================================

*/

Number.prototype.toChinese = function()

{

var num = this;

if(!/^"d*("."d*)?$/.test(num)){alert("Number is wrong!"); return "Number is wrong!";}

var AA = new Array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖");

var BB = new Array("","拾","佰","仟","萬","億","点","");

var a = (""+ num).replace(/(^0*)/g, "").split("."), k = 0, re = "";

for(var i=a[0].length-1; i>=0; i--)

{

switch(k)

{

case 0 : re = BB[7] + re; break;

case 4 : if(!new RegExp("0{4}""d{"+ (a[0].length-i-1) +"}$").test(a[0]))

re = BB[4] + re; break;

case 8 : re = BB[5] + re; BB[7] = BB[5]; k = 0; break;

}

if(k%4 == 2 && a[0].charAt(i+2) != 0 && a[0].charAt(i+1) == 0) re = AA[0] + re;

if(a[0].charAt(i) != 0) re = AA[a[0].charAt(i)] + BB[k%4] + re; k++;

}

if(a.length>1) //加上小数部分(如果有小数部分)

{

re += BB[6];

for(var i=0; i<a[1].length; i++) re += AA[a[1].charAt(i)];

}

return re;

}

/*

===========================================

//保留小数点位数

===========================================

*/

Number.prototype.toFixed=function(len)

{

if(isNaN(len)||len==null)

{

len = 0;

}

else

{

if(len<0)

{

len = 0;

}

}

return Math.round(this * Math.pow(10,len)) / Math.pow(10,len);

}

/*

===========================================

//转换成大写金额

===========================================

*/

Number.prototype.toMoney = function()

{

// Constants:

var MAXIMUM_NUMBER = 99999999999.99;

// Predefine the radix characters and currency symbols for output:

var CN_ZERO= "零";

var CN_ONE= "壹";

var CN_TWO= "贰";

var CN_THREE= "叁";

var CN_FOUR= "肆";

var CN_FIVE= "伍";

var CN_SIX= "陆";

var CN_SEVEN= "柒";

var CN_EIGHT= "捌";

var CN_NINE= "玖";

var CN_TEN= "拾";

var CN_HUNDRED= "佰";

var CN_THOUSAND = "仟";

var CN_TEN_THOUSAND= "万";

var CN_HUNDRED_MILLION= "亿";

var CN_SYMBOL= "";

var CN_DOLLAR= "元";

var CN_TEN_CENT = "角";

var CN_CENT= "分";

var CN_INTEGER= "整";

// Variables:

var integral; // Represent integral part of digit number.

var decimal; // Represent decimal part of digit number.

var outputCharacters; // The output result.

var parts;

var digits, radices, bigRadices, decimals;

var zeroCount;

var i, p, d;

var quotient, modulus;

if (this > MAXIMUM_NUMBER)

{

return "";

}

// Process the coversion from currency digits to characters:

// Separate integral and decimal parts before processing coversion:

parts = (this + "").split(".");

if (parts.length > 1)

{

integral = parts[0];

decimal = parts[1];

// Cut down redundant decimal digits that are after the second.

decimal = decimal.substr(0, 2);

}

else

{

integral = parts[0];

decimal = "";

}

// Prepare the characters corresponding to the digits:

digits= new Array(CN_ZERO, CN_ONE, CN_TWO, CN_THREE, CN_FOUR, CN_FIVE, CN_SIX, CN_SEVEN, CN_EIGHT, CN_NINE);

radices= new Array("", CN_TEN, CN_HUNDRED, CN_THOUSAND);

bigRadices= new Array("", CN_TEN_THOUSAND, CN_HUNDRED_MILLION);

decimals= new Array(CN_TEN_CENT, CN_CENT);

// Start processing:

outputCharacters = "";

// Process integral part if it is larger than 0:

if (Number(integral) > 0)

{

zeroCount = 0;

for (i = 0; i < integral.length; i++)

{

p = integral.length - i - 1;

d = integral.substr(i, 1);

quotient = p / 4;

modulus = p % 4;

if (d == "0")

{

zeroCount++;

}

else

{

if (zeroCount > 0)

{

outputCharacters += digits[0];

}

zeroCount = 0;

outputCharacters += digits[Number(d)] + radices[modulus];

}

if (modulus == 0 && zeroCount < 4)

{

outputCharacters += bigRadices[quotient];

}

}

outputCharacters += CN_DOLLAR;

}

// Process decimal part if there is:

if (decimal != "")

{

for (i = 0; i < decimal.length; i++)

{

d = decimal.substr(i, 1);

if (d != "0")

{

outputCharacters += digits[Number(d)] + decimals[i];

}

}

}

// Confirm and return the final output string:

if (outputCharacters == "")

{

outputCharacters = CN_ZERO + CN_DOLLAR;

}

if (decimal == "")

{

outputCharacters += CN_INTEGER;

}

outputCharacters = CN_SYMBOL + outputCharacters;

return outputCharacters;

}

Number.prototype.toImage = function()

{

var num = Array(

"#define t_width 3"n#define t_height 5"nstatic char t_bits[] = {0xF,0x5,0x5,0x5,0xF}",

"#define t_width 3"n#define t_height 5"nstatic char t_bits[] = {0x4,0x4,0x4,0x4,0x4}",

"#define t_width 3"n#define t_height 5"nstatic char t_bits[] = {0xF,0x4,0xF,0x1,0xF}",

"#define t_width 3"n#define t_height 5"nstatic char t_bits[] = {0xF,0x4,0xF,0x4,0xF}",

"#define t_width 3"n#define t_height 5"nstatic char t_bits[] = {0x5,0x5,0xF,0x4,0x4}",

"#define t_width 3"n#define t_height 5"nstatic char t_bits[] = {0xF,0x1,0xF,0x4,0xF}",

"#define t_width 3"n#define t_height 5"nstatic char t_bits[] = {0xF,0x1,0xF,0x5,0xF}",

"#define t_width 3"n#define t_height 5"nstatic char t_bits[] = {0xF,0x4,0x4,0x4,0x4}",

"#define t_width 3"n#define t_height 5"nstatic char t_bits[] = {0xF,0x5,0xF,0x5,0xF}",

"#define t_width 3"n#define t_height 5"nstatic char t_bits[] = {0xF,0x5,0xF,0x4,0xF}"

);

var str = this + "";

var iIndex

var result=""

for(iIndex=0;iIndex<str.length;iIndex++)

{

result +="<img src='javascript:" & num(iIndex) & "'">

}

return result;

}

/*

******************************************

其他函数扩充

******************************************

*/

/*

===========================================

//验证类函数

===========================================

*/

function IsEmpty(obj)

{

obj=document.getElementsByName(obj).item(0);

if(Trim(obj.value)=="")

{

if(obj.disabled==false && obj.readOnly==false)

{

obj.focus();

}

return true;

}

else

{

return false;

}

}

/*

===========================================

//无模式提示对话框

===========================================

*/

function modelessAlert(Msg)

{

window.showModelessDialog("javascript:alert("""+escape(Msg)+""");window.close();","","status:no;resizable:no;help:no;dialogHeight:height:30px;dialogHeight:40px;");

}

/*

===========================================

//页面里回车到下一控件的焦点

===========================================

*/

function Enter2Tab()

{

var e = document.activeElement;

if(e.tagName == "INPUT" &&

(

e.type == "text" ||

e.type == "password" ||

e.type == "checkbox" ||

e.type == "radio"

) ||

e.tagName == "SELECT")

{

if(window.event.keyCode == 13)

{

window.event.keyCode = 9;

}

}

}

////////打开此功能请取消下行注释

//document.onkeydown = Enter2Tab;

function ViewSource(url)

{

window.location = 'view-source:'+ url;

}

///////禁止右键

document.oncontextmenu = function() { return false;}

/*

******************************************

字符串函数扩充

******************************************

*/

/*

===========================================

//去除左边的空格

===========================================

*/

String.prototype.LTrim = function()

{

return this.replace(/(^"s*)/g, "");

}

String.prototype.Mid = function(start,len)

{

if(isNaN(start)&&start<0)

{

return "";

}

if(isNaN(len)&&len<0)

{

return "";

}

return this.substring(start,len);

}

/*

===========================================

//去除右边的空格

===========================================

*/

String.prototype.Rtrim = function()

{

return this.replace(/("s*$)/g, "");

}

/*

===========================================

//去除前后空格

===========================================

*/

String.prototype.Trim = function()

{

return this.replace(/(^"s*)|("s*$)/g, "");

}

/*

===========================================

//得到左边的字符串

===========================================

*/

String.prototype.Left = function(len)

{

if(isNaN(len)||len==null)

{

len = this.length;

}

else

{

if(parseInt(len)<0||parseInt(len)>this.length)

{

len = this.length;

}

}

return this.substring(0,len);

}

/*

===========================================

//得到右边的字符串

===========================================

*/

String.prototype.Right = function(len)

{

if(isNaN(len)||len==null)

{

len = this.length;

}

else

{

if(parseInt(len)<0||parseInt(len)>this.length)

{

len = this.length;

}

}

return this.substring(this.length-len,this.length);

}

/*

===========================================

//得到中间的字符串,注意从0开始

===========================================

*/

String.prototype.Mid = function(start,len)

{

if(isNaN(start)||start==null)

{

start = 0;

}

else

{

if(parseInt(start)<0)

{

start = 0;

}

}

if(isNaN(len)||len==null)

{

len = this.length;

}

else

{

if(parseInt(len)<0)

{

len = this.length;

}

}

return this.substring(start,start+len);

}

/*

===========================================

//在字符串里查找另一字符串:位置从0开始

===========================================

*/

String.prototype.InStr = function(str)

{

if(str==null)

{

str = "";

}

return this.indexOf(str);

}

/*

===========================================

//在字符串里反向查找另一字符串:位置0开始

===========================================

*/

String.prototype.InStrRev = function(str)

{

if(str==null)

{

str = "";

}

return this.lastIndexOf(str);

}

/*

===========================================

//计算字符串打印长度

===========================================

*/

String.prototype.LengthW = function()

{

return this.replace(/[^"x00-"xff]/g,"**").length;

}

/*

===========================================

//是否是正确的IP地址

===========================================

*/

String.prototype.isIP = function()

{

var reSpaceCheck = /^("d+)".("d+)".("d+)".("d+)$/;

if (reSpaceCheck.test(this))

{

this.match(reSpaceCheck);

if (RegExp.$1 <= 255 && RegExp.$1 >= 0

&& RegExp.$2 <= 255 && RegExp.$2 >= 0

&& RegExp.$3 <= 255 && RegExp.$3 >= 0

&& RegExp.$4 <= 255 && RegExp.$4 >= 0)

{

return true;

}

else

{

return false;

}

}

else

{

return false;

}

}

/*

===========================================

//是否是正确的长日期

===========================================

*/

String.prototype.isDate = function()

{

var r = str.match(/^("d{1,4})(-|"/)("d{1,2})"2("d{1,2}) ("d{1,2}):("d{1,2}):("d{1,2})$/);

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]);

}

/*

===========================================

//是否是手机

===========================================

*/

String.prototype.isMobile = function()

{

return /^0{0,1}13[0-9]{9}$/.test(this);

}

/*

===========================================

//是否是邮件

===========================================

*/

String.prototype.isEmail = function()

{

return /^"w+((-"w+)|("."w+))*"@[A-Za-z0-9]+((".|-)[A-Za-z0-9]+)*".[A-Za-z0-9]+$/.test(this);

}

/*

===========================================

//是否是邮编(中国)

===========================================

*/

String.prototype.isZipCode = function()

{

return /^[""d]{6}$/.test(this);

}

/*

===========================================

//是否是有汉字

===========================================

*/

String.prototype.existChinese = function()

{

//["u4E00-"u9FA5]為漢字﹐["uFE30-"uFFA0]為全角符號

return /^["x00-"xff]*$/.test(this);

}

/*

===========================================

//是否是合法的文件名/目录名

===========================================

*/

String.prototype.isFileName = function()

{

return !/["""/"*"?"|:"<>]/g.test(this);

}

/*

===========================================

//是否是有效链接

===========================================

*/

String.Prototype.isUrl = function()

{

return /^http:"/"/(["w-]+".)+["w-]+(/["w-./?%&=]*)?$/.test(this);

}

/*

===========================================

//是否是有效的身份证(中国)

===========================================

*/

String.prototype.isIDCard = function()

{

var iSum=0;

var info="";

var sId = this;

var aCity={11:"北京",
12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏
",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东
",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃
",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"};

if(!/^"d{17}("d|x)$/i.test(sId))

{

return false;

}

sId=sId.replace(/x$/i,"a");

//非法地区

if(aCity[parseInt(sId.substr(0,2))]==null)

{

return false;

}

var sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2));

var d=new Date(sBirthday.replace(/-/g,"/"))

//非法生日

if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))

{

return false;

}

for(var i = 17;i>=0;i--)

{

iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11);

}

if(iSum%11!=1)

{

return false;

}

return true;

}

/*

===========================================

//是否是有效的电话号码(中国)

===========================================

*/

String.prototype.isPhoneCall = function()

{

return /(^[0-9]{3,4}"-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^"([0-9]{3,4}")[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/.test(this);

}

/*

===========================================

//是否是数字

===========================================

*/

String.prototype.isNumeric = function(flag)

{

//验证是否是数字

if(isNaN(this))

{

return false;

}

switch(flag)

{

case null://数字

case "":

return true;

case "+"://正数

return/(^"+?|^"d?)"d*".?"d+$/.test(this);

case "-"://负数

return/^-"d*".?"d+$/.test(this);

case "i"://整数

return/(^-?|^"+?|"d)"d+$/.test(this);

case "+i"://正整数

return/(^"d+$)|(^"+?"d+$)/.test(this);

case "-i"://负整数

return/^[-]"d+$/.test(this);

case "f"://浮点数

return/(^-?|^"+?|^"d?)"d*"."d+$/.test(this);

case "+f"://正浮点数

return/(^"+?|^"d?)"d*"."d+$/.test(this);

case "-f"://负浮点数

return/^[-]"d*"."d$/.test(this);

default://缺省

return true;

}

}

/*

===========================================

//转换成全角

===========================================

*/

String.prototype.toCase = function()

{

var tmp = "";

for(var i=0;i<this.length;i++)

{

if(this.charCodeAt(i)>0&&this.charCodeAt(i)<255)

{

tmp += String.fromCharCode(this.charCodeAt(i)+65248);

}

else

{

tmp += String.fromCharCode(this.charCodeAt(i));

}

}

return tmp

}

/*

===========================================

//对字符串进行Html编码

===========================================

*/

String.prototype.toHtmlEncode = function

{

var str = this;

str=str.replace("&","&");

str=str.replace("<","<");

str=str.replace(">",">");

str=str.replace("'","'");

str=str.replace("""",""");

return str;

}

qqdao(青青岛)

精心整理的输入判断js函数

关键词:字符串判断,字符串处理,字串判断,字串处理

//'*********************************************************

// ' Purpose: 判断输入是否为整数字

// ' Inputs: String

// ' Returns: True, False

//'*********************************************************

function onlynumber(str)

{

var i,strlength,tempchar;

str=CStr(str);

if(str=="") return false;

strlength=str.length;

for(i=0;i<strlength;i++)

{

tempchar=str.substring(i,i+1);

if(!(tempchar==0||tempchar==1||tempchar==2||tempchar==3||tempchar==4||tempchar==5||tempchar==6||tempchar==7||tempchar==8||tempchar==9))

{

alert("只能输入数字 ");

return false;

}

}

return true;

}

//'*********************************************************

//'*********************************************************

// ' Purpose: 判断输入是否为数值(包括小数点)

// ' Inputs: String

// ' Returns: True, False

//'*********************************************************

function IsFloat(str)

{ var tmp;

var temp;

var i;

tmp =str;

if(str=="") return false;

for(i=0;i<tmp.length;i++)

{temp=tmp.substring(i,i+1);

if((temp>='0'&& temp<='9')||(temp=='.')){} //check input in 0-9 and '.'

else { return false;}

}

return true;

}

//'*********************************************************

// ' Purpose: 判断输入是否为电话号码

// ' Inputs: String

// ' Returns: True, False

//'*********************************************************

function isphonenumber(str)

{

var i,strlengh,tempchar;

str=CStr(str);

if(str=="") return false;

strlength=str.length;

for(i=0;i<strlength;i++)

{

tempchar=str.substring(i,i+1);

if(!(tempchar==0||tempchar==1||tempchar==2||tempchar==3||tempchar==4||tempchar==5||tempchar==6||tempchar==7||tempchar==8||tempchar==9||tempchar=='-'))

{

alert("电话号码只能输入数字和中划线 ");

return(false);

}

}

return(true);

}

//'*********************************************************

//'*********************************************************

// ' Purpose: 判断输入是否为Email

// ' Inputs: String

// ' Returns: True, False

//'*********************************************************

function isemail(str)

{

var bflag=true

if (str.indexOf("'")!=-1) {

bflag=false

}

if (str.indexOf("@")==-1) {

bflag=false

}

else if(str.charAt(0)=="@"){

bflag=false

}

return bflag

}

//'*********************************************************

// ' Purpose: 判断输入是否含有为中文

// ' Inputs: String

// ' Returns: True, False

//'*********************************************************

function IsChinese(str)

{

if(escape(str).indexOf("%u")!=-1)

{

return true;

}

return false;

}

//'*********************************************************

//'*********************************************************

// ' Purpose: 判断输入是否含有空格

// ' Inputs: String

// ' Returns: True, False

//'*********************************************************

function checkblank(str)

{

var strlength;

var k;

var ch;

strlength=str.length;

for(k=0;k<=strlength;k++)

{

ch=str.substring(k,k+1);

if(ch==" ")

{

alert("对不起 不能输入空格 ");

return false;

}

}

return true;

}

//'*********************************************************

//'*********************************************************

// ' Purpose: 去掉Str两边空格

// ' Inputs: Str

// ' Returns: 去掉两边空格的Str

//'*********************************************************

function trim(str)

{

var i,strlength,t,chartemp,returnstr;

str=CStr(str);

strlength=str.length;

t=str;

for(i=0;i<strlength;i++)

{

chartemp=str.substring(i,i+1);

if(chartemp==" ")

{

t=str.substring(i+1,strlength);

}

else

{

break;

}

}

returnstr=t;

strlength=t.length;

for(i=strlength;i>=0;i--)

{

chartemp=t.substring(i,i-1);

if(chartemp==" ")

{

returnstr=t.substring(i-1,0);

}

else

{

break;

}

}

return (returnstr);

}

//'*********************************************************

//'*********************************************************

// ' Purpose: 将数值类型转化为String

// ' Inputs: int

// ' Returns: String

//'*********************************************************

function CStr(inp)

{

return(""+inp+"");

}

//'*********************************************************

//'*********************************************************

// ' Purpose: 去除不合法字符, ' " < >

// ' Inputs: String

// ' Returns: String

//'*********************************************************

function Rep(str)

{var str1;

str1=str;

str1=replace(str1,"'","`",1,0);

str1=replace(str1,'"',"`",1,0);

str1=replace(str1,"<","(",1,0);

str1=replace(str1,">",")",1,0);

return str1;

}

//'*********************************************************

//'*********************************************************

// ' Purpose: 替代字符

// ' Inputs: 目标String,欲替代的字符,替代成为字符串,大小写是否敏感,是否整字代替

// ' Returns: String

//'*********************************************************

function replace(target,oldTerm,newTerm,caseSens,wordOnly)

{ var wk ;

var ind = 0;

var next = 0;

wk=CStr(target);

if (!caseSens)

{

oldTerm = oldTerm.toLowerCase();

wk = target.toLowerCase();

}

while ((ind = wk.indexOf(oldTerm,next)) >= 0)

{

if (wordOnly)

{

var before = ind - 1;

var after = ind + oldTerm.length;

if (!(space(wk.charAt(before)) && space(wk.charAt(after))))

{

next = ind + oldTerm.length;

continue;

}

}

target = target.substring(0,ind) + newTerm + target.substring(ind+oldTerm.length,target.length);

wk = wk.substring(0,ind) + newTerm + wk.substring(ind+oldTerm.length,wk.length);

next = ind + newTerm.length;

if (next >= wk.length) { break; }

}

return target;

}

//'*********************************************************

几个判断,并强制设置焦点:

//+------------------------------------

// trim 去除字符串两端的空格

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

//-------------------------------------

// avoidDeadLock 避免设置焦点死循环问题

// 起死原因:以文本框为例,当一个文本框的输入不符合条件时,这时,鼠标点击另一个文本框,触发第一个文本框的离开事件

//   ,产生设置焦点动作。现在产生了第二个文本框的离开事件,因此也要设置第二个文本框的焦点,造成死锁。

// 解决方案:设置一个全局对象[key],记录当前触发事件的对象,若其符合条件,则释放该key;若其仍不符合,则key还是指

//   向该对象,别的对象触发不到设置焦点的语句。

/////////////////////////////////////////

// 文本框控制函数

//

/////////////////////////////////////////

var g_Obj = null;// 记住旧的控件

// hintFlag参数:0表示没有被别的函数调用,因此出现提示;1表示被调用,不出现警告信息

// focusFlag参数:指示是否要设置其焦点,分情况:0表示有的可为空;1表示有的不为空

// 避免死锁的公共部分

//+------------------------------------

function textCom(obj, hintFlag)

{

if (g_Obj == null)

g_Obj=event.srcElement;

else if ((g_Obj != null) && (hintFlag == 0) && (g_Obj != obj))

{

g_Obj = null;

return;

}

g_Obj.value = g_Obj.value.trim();

}

//-------------------------------------

// 文本框不为空

//+------------------------------------

function TBNotNull(obj, hintFlag)

{

if (g_Obj == null)

g_Obj=event.srcElement;

else if ((g_Obj != null) && (hintFlag == 0) && (g_Obj != obj))

{

g_Obj = null;

return;

}

g_Obj.value = g_Obj.value.trim();

if (g_Obj.value == "")

{

if (hintFlag == 0)

{

g_Obj.focus();

alert("内容不能为空!");

}

return false;

}

else

g_Obj = null;

return true;

}

//-------------------------------------

// 输入内容为数字

//+------------------------------------

function LetNumber(obj, hintFlag, focusFlag)

{

if (g_Obj == null)

g_Obj=event.srcElement;

else if ((g_Obj != null) && (hintFlag == 0) && (g_Obj != obj))

{

g_Obj = null;

return;

}

g_Obj.value = g_Obj.value.trim();

if ((g_Obj.value == "") || isNaN(g_Obj.value))

{

if (hintFlag == 0)

{

g_Obj.value = "";

if (focusFlag == 1)

g_Obj.focus();

else

g_Obj = null;

alert("输入的内容必须为数字!");

}

return false;

}

else

g_Obj = null;

return true;

}

//-------------------------------------

// 输入内容为整数

//+------------------------------------

function LetInteger(obj, hintFlag, focusFlag)

{

if (g_Obj == null)

g_Obj=event.srcElement;

else if ((g_Obj != null) && (hintFlag == 0) && (g_Obj != obj))

{

g_Obj = null;

return;

}

g_Obj.value = g_Obj.value.trim();

if (!/^"d*$/.test(g_Obj.value) || (g_Obj.value == ""))

{

if (hintFlag == 0)

{

g_Obj.value = "";

if (focusFlag == 1)

g_Obj.focus();

else

g_Obj = null;

alert("输入的内容必须为整数!");

}

return false;

}

else

g_Obj = null;

return true;

}

//-------------------------------------

// 输入内容为字母

//+------------------------------------

function LetLetter(obj, hintFlag, focusFlag)

{

if (g_Obj == null)

g_Obj=event.srcElement;

else if ((g_Obj != null) && (hintFlag == 0) && (g_Obj != obj))

{

g_Obj = null;

return;

}

if (!/^[A-Za-z]*$/.test(g_Obj.value))

{

if (hintFlag == 0)

{

alert("输入的内容必须为字母!");

g_Obj.value = "";

if (focusFlag == 1)

g_Obj.focus();

else

g_Obj = null;

}

return false;

}

else

{

g_Obj = null;

}

return true;

}

//-------------------------------------

// 内容大于某值

//+------------------------------------

function LetMoreThan(obj, leftNumber, hintFlag, focusFlag)

{

var ifAlert;// 是否出现警告

if (g_Obj == null)

g_Obj=event.srcElement;

else if ((g_Obj != null) && (hintFlag == 0) && (g_Obj != obj))

{

g_Obj = null;

return;

}

g_Obj.value = g_Obj.value.trim();

if (g_Obj.value == "")

ifAlert = 0;

else

ifAlert = 1;

if ((g_Obj.value == "") || (isNaN(g_Obj.value)) || (g_Obj.value < leftNumber))

{

if (hintFlag == 0)

{

g_Obj.value = "";

if (focusFlag == 1)

g_Obj.focus();

else

g_Obj = null;

// 更友好的提示

if (ifAlert == 1)

{

if (leftNumber == 0)

alert("内容必须为非负数!");

else

alert("输入的内容必须" + leftNumber + "以上!");

}

}

return false;

}

else

g_Obj = null;

return true;

}

//-------------------------------------

// 内容大于某值,整数

//+------------------------------------

function LetMoreThan_Int(obj, leftNumber, hintFlag, focusFlag)

{

var ifAlert;// 是否出现警告

if (g_Obj == null)

g_Obj=event.srcElement;

else if ((g_Obj != null) && (hintFlag == 0) && (g_Obj != obj))

{

g_Obj = null;

return;

}

g_Obj.value = g_Obj.value.trim();

if (g_Obj.value == "")

ifAlert = 0;

else

ifAlert = 1;

if ((g_Obj.value == "") || (isNaN(g_Obj.value) || g_Obj.value < leftNumber) || !/^"d*$/.test(g_Obj.value))

{

if (hintFlag == 0)

{

g_Obj.value = "";

if (focusFlag == 1)

g_Obj.focus();

else

{g_Obj = null;}

if (ifAlert == 1)// 当用户不输入的时候,不出现提示

{

// 更友好的提示

if (leftNumber == 0)

alert("内容必须为非负整数!");

else

alert("且必须在" + leftNumber + "以上!");

}

}

return false;

}

else

g_Obj = null;

return true;

}

//-------------------------------------

// 内容小于某值

//+------------------------------------

function LetLessThan(obj, rightNumber, hintFlag, focusFlag)

{

if (g_Obj == null)

g_Obj=event.srcElement;

else if ((g_Obj != null) && (hintFlag == 0) && (g_Obj != obj))

{

g_Obj = null;

return;

}

g_Obj.value = g_Obj.value.trim();

if ((g_Obj.value == "") || (isNaN(g_Obj.value) || g_Obj.value > rightNumber))

{

if (hintFlag == 0)

{

g_Obj.value = "";

if (focusFlag == 1)

g_Obj.focus();

else

g_Obj = null;

alert("输入的内容必须在" + rightNumber + "以下!");

}

return false;

}

else

{g_Obj = null;}

return true;

}

//-------------------------------------

// 内容介于两值中间

//+------------------------------------

function LetMid(obj, leftNumber, rightNumber, hintFlag, focusFlag)

{

var ifAlert;// 是否出现警告

if (g_Obj == null)

g_Obj=event.srcElement;

else if ((g_Obj != null) && (hintFlag == 0) && (g_Obj != obj))

{

g_Obj = null;

return;

}

g_Obj.value = g_Obj.value.trim();

if (g_Obj.value == "")

ifAlert = 0;

else

ifAlert = 1;

// 首先应该为数字

if (LetNumber(g_Obj, 1))

{

if (!(LetMoreThan(obj,leftNumber,1,0) && LetLessThan(obj,rightNumber,1,0)))

{

if (hintFlag == 0)

{

g_Obj.value = "";

if (focusFlag == 1)

g_Obj.focus();

else

g_Obj = null;

if (ifAlert == 1)// 当用户不输入的时候,不出现提示

alert("输入的内容必须介于" + leftNumber + "和" + rightNumber + "之间!");

}

return false;

}

else

{g_Obj = null;}

}

else

{

if (hintFlag == 0)

{

g_Obj.value = "";

if (focusFlag == 1)

g_Obj.focus();

else

g_Obj = null;

if (ifAlert == 1)

alert("输入的内容必须为数字!"n" +

"且介于" + leftNumber + "和" + rightNumber + "之间!");

}

return false;

}

return true;

}

//-------------------------------------

/////////////////////////////////////////

// 下拉框

/////////////////////////////////////////

// 下拉框,务必选择

//+------------------------------------

function onSelLostFocus(obj)

{

if (g_Obj == null)

{

g_Obj=event.srcElement;

}

else if ((g_Obj!=null) && (g_Obj!=obj))

{

g_Obj = null;

return;

}

if (g_Obj.selectedIndex == 0)

{

g_Obj.focus();

}

else

{

g_Obj = null;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: