`
收藏列表
标题 标签 来源
javascript 常用代码大全1 javascript javascript 常用代码大全(超级收藏,强烈推荐)(3)
针对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; 
} 
}
Global site tag (gtag.js) - Google Analytics