常用一些Javascript判断函数


Posted in Javascript onAugust 14, 2012

1、<DIV id=div1><h1>This is an DIV</h1></div>
<button onclick=alert(div1.outerHTML)>outerHTML</button>
<button onclick=alert(div1.innerHTML)>innerHTML</button>
<button onclick=alert(div1.innerText)>innertText</button>
2、Javascript 误差

w1=0; 
w1+=Math.round(1333333.99*100); 
w1+=Math.round(13663.38*100); 
document.write(w1/100); 
w1=0; 
w1+=1333333.99; 
w1+=13663.38; 
document.write(w1);

3、表单检查
//wanghui于20031020增加了一个检验业务访问和处理地址端口号的function checkPort(); 
function toChnDigit(num) 
{ 
var t = parseInt(num); 
if(t==0) return "零"; 
if(t==1) return "一"; 
if(t==2) return "二"; 
if(t==3) return "三"; 
if(t==4) return "四"; 
if(t==5) return "五"; 
if(t==6) return "六"; 
if(t==7) return "七"; 
if(t==8) return "八"; 
if(t==9) return "九"; 
return ""; 
} 
//@CheckItem@ OPT-HuTie-20031208 优化:添加屏蔽所有按钮的公用函数 
function disableAllButtons(){ 
for(var i=0;i<document.all.tags("input").length;i++){ 
var tmp = document.all.tags("input")[i]; 
if(tmp.type=="button" || tmp.type=="submit" ||tmp.type=="reset"){ 
tmp.disabled = true; 
} 
} 
} 
//增加trim函数 
String.prototype.trim = function() 
{ 
return this.replace(/(^\s*)|(\s*$)/g, ""); 
} 
//函数名:checkNUM 
//功能介绍:检查是否为数字 
//参数说明:要检查的数字 
//返回值:1为是数字,0为不是数字 
function checkNum(Num) { 
var i,j,strTemp; 
strTemp = "0123456789."; 
if ( Num.length == 0) 
return 0 
for (i = 0;i < Num.length; i++) { 
j = strTemp.indexOf(Num.charAt(i)); 
if (j == -1) { 
//说明有字符不是数字 
return 0; 
} 
} 
//说明是数字 
return 1; 
} 
//函数名:checkNUM 
//功能介绍:检查是否为数字 
//参数说明:要检查的数字 
//返回值:1为是数字,0为不是数字 
function checkIntNum(Num) { 
var i,j,strTemp; 
strTemp = "0123456789"; 
if ( Num.length == 0) 
return 0 
for (i = 0;i < Num.length; i++) { 
j = strTemp.indexOf(Num.charAt(i)); 
if (j == -1) { 
//说明有字符不是数字 
return 0; 
} 
} 
//说明是数字 
return 1; 
} 
//函数名:checkEmail 
//功能介绍:检查是否为Email Address 
//参数说明:要检查的字符串 
//返回值:0:不是 1:是 
function checkEmail(a) { 
//@CheckItem@ Bug141-hutie-20030821 修改界面:Email地址要做禁止中文校验 
var reg = /[^\u0000-\u00FF]/; 
if(a.match(reg)!=null){ 
return 0;//有汉字 
} 
var i=a.length; 
var temp = a.indexOf('@'); 
var tempd = a.indexOf('.'); 
if (temp > 1) { 
if ((i-temp) > 3){ 
if ((i-tempd)>0){ 
return 1; 
} 
} 
} 
return 0; 
} 
//函数名:checkTEL 
//功能介绍:检查是否为电话号码 
//参数说明:要检查的字符串 
//返回值:1为是合法,0为不合法 
function checkTel(tel) 
{ 
var i,j,strTemp; 
strTemp = "0123456789- ()"; 
for (i=0;i<tel.length;i++) 
{ 
j = strTemp.indexOf(tel.charAt(i)); 
if (j==-1) 
{ 
//说明有字符不合法 
return 0; 
} 
} 
//说明合法 
return 1; 
} 
//函数名:checkLength 
//功能介绍:检查字符串的长度 
//参数说明:要检查的字符串 
//返回值:长度值 
function checkLength(strTemp) 
{ 
var i,sum; 
sum = 0; 
for(i=0;i<strTemp.length;i++) 
{ 
//@CheckItem@ BUG-Renhj-20040604 优化:将验证的函数改成128以类的为单字符。避免“·”符号 
// if ((strTemp.charCodeAt(i)>=0) && (strTemp.charCodeAt(i)<=255)) 
if ((strTemp.charCodeAt(i)>=0) && (strTemp.charCodeAt(i)<=128)) 
sum = sum + 1; 
else 
sum = sum + 2; 
} 
return sum; 
} 
//函数名:checkSafe 
//功能介绍:检查是否含有"'", '"',"<", ">", ";", "、" 
//参数说明:要检查的字符串 
//返回值:0:是 1:不是 
function checkSafe(a) 
{ 
fibdn = new Array ("'" ,'"',">", "<", "、", ";"); 
i = fibdn.length; 
j = a.length; 
for (ii=0;ii<i;ii++) 
{ 
for (jj=0;jj<j;jj++) 
{ 
temp1 = a.charAt(jj); 
temp2 = fibdn[ii]; 
if (temp1==temp2) 
{ 
return 0; 
} 
} 
} 
return 1; 
} 
//函数名:checkChar 
//功能介绍:检查是否含有非字母字符 
//参数说明:要检查的字符串 
//返回值:0:含有 1:全部为字母 
function checkChar(str) 
{ 
var strSource ="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.()& "; 
var ch; 
var i; 
var temp; 
for (i=0;i<=(str.length-1);i++) 
{ 
ch = str.charAt(i); 
temp = strSource.indexOf(ch); 
if (temp==-1) 
{ 
return 0; 
} 
} 
return 1; 
} 
//函数名:checkCharOrDigital 
//功能介绍:检查是否含有非数字或字母 
//参数说明:要检查的字符串 
//返回值:0:含有 1:全部为数字或字母 
function checkCharOrDigital(str) 
{ 
var strSource = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.()& "; 
var ch; 
var i; 
var temp; 
for (i = 0;i<=(str.length-1);i++) 
{ 
ch = str.charAt(i); 
temp = strSource.indexOf(ch); 
if (temp == -1) 
{ 
return 0; 
} 
} 
return 1; 
} 
//函数名:checkChinese 
//功能介绍:检查是否含有汉字 
//参数说明:要检查的字符串 
//返回值:0:含有 1:没有 
function checkChinese(strTemp) 
{ 
var i,sum; 
for(i=0;i<strTemp.length;i++) 
{ 
if ((strTemp.charCodeAt(i)<0) || (strTemp.charCodeAt(i)>255)) 
return 0; 
} 
return 1; 
} 
//函数名:compareTime() 
//功能介绍: 比较时间大小 
//参数说明:beginYear开始年,beginMonth开始月,benginDay开始日,beginH开始小时,beginM开始分钟, 
// endYear结束年,endMonth结束月,endMonth结束日,endH结束小时,endM结束分钟 
//返回值:true 表示 开始时间大于结束时间,false 相反 
function compareTime(beginYear,beginMonth,benginDay,beginH,beginM,endYear,endMonth,endDay,endH,endM){ 
var date1 = new Date(beginYear,beginMonth-1,benginDay,beginH,beginM); 
var date2 = new Date(endYear,endMonth-1,endDay,endH,endM); 
if(date1.getTime()>date2.getTime()){ 
return false; 
} 
return true; 
} 
//函数名:compareDate() 
//功能介绍: 比较日期大小 
//参数说明:beginYear开始年,beginMonth开始月,benginDay开始日 
// endYear结束年,endMonth结束月,endMonth结束日 
//返回值:0:true 表示 开始时间大于结束时间,false 相反 
function compareDate(beginYear,beginMonth,benginDay,endYear,endMonth,endDay){ 
var date1 = new Date(beginYear,beginMonth-1,benginDay); 
var date2 = new Date(endYear,endMonth-1,endDay); 
if(date1.getTime()>date2.getTime()){ 
return false; 
} 
return true; 
} 
//函数名:checkUrl 
//功能介绍:检查Url是否合法 
//参数说明:要检查的字符串 
//返回值:true:合法 false:不合法。 
function checkURL(strTemp) 
{ 
if(strTemp.length==0) return false; 
if(checkChinese(strTemp)==0) return false; 
if (strTemp.toUpperCase().indexOf("HTTP://") != 0 && strTemp.toUpperCase().indexOf("HTTPS://") != 0){ 
return false; 
} 
return true; 
} 
// @CheckItem@ OPT-Renhj-20030704 提供公共的去处空格的方法 
//清除左边空格 
function js_ltrim(deststr) 
{ 
if(deststr==null)return ""; 
var pos=0; 
var retStr=new String(deststr); 
if (retStr.lenght==0) return retStr; 
while (retStr.substring(pos,pos+1)==" ") pos++; 
retStr=retStr.substring(pos); 
return(retStr); 
} 
//清除右边空格 
function js_rtrim(deststr) 
{ 
if(deststr==null)return ""; 
var retStr=new String(deststr); 
var pos=retStr.length; 
if (pos==0) return retStr; 
while (pos && retStr.substring(pos-1,pos)==" " ) pos--; 
retStr=retStr.substring(0,pos); 
return(retStr); 
} 
//清除左边和右边空格 
function js_trim(deststr) 
{ 
if(deststr==null)return ""; 
var retStr=new String(deststr); 
var pos=retStr.length; 
if (pos==0) return retStr; 
retStr=js_ltrim(retStr); 
retStr=js_rtrim(retStr); 
return retStr; 
} 
//格式化输入的日期串,输入的如:"2003-9-12" 输出:"2003-09-12" 
function formatDateStr(inDate){ 
if (inDate==null||inDate=="") return ""; 
var beginDate = inDate.split("-"); 
var mYear=beginDate[0]; 
var mMonth=beginDate[1]; 
var mDay=beginDate[2]; 
mMonth=((mMonth.length==1)?("0"+mMonth):mMonth); 
mDay=((mDay.length==1)?("0"+mDay):mDay); 
return mYear+"-"+mMonth+"-"+mDay; 
} 
//Added by wanghui 20031020 检查URL地址的端口的合法性,必须为小于65535的数字 
function checkPort(inValue1,inValue2){ 
//先检查第一个参数的合法性,如果第二个参数是null,则第一个参数表示短信业务的‘业务处理地址' 
if(inValue1 != null && inValue1.value != ""){ 
var array1 = inValue1.value.split(":"); 
if(array1.length >=4){ //如果以':'分割数组长度为四,则有两个':',所以不合法。 
if(inValue2==null) alert("业务处理地址端口格式错误"); 
else alert("业务访问地址端口格式错误"); 
inValue1.focus(); 
return false; 
} 
if(array1.length >= 3) { 
port1 = array1[2]; 
if ((pos1 = port1.indexOf("/")) >= 0){ //查看端口后面有没有'/',如果有,取该符号以前的就是端口 
port1 = port1.substring(0,pos1) 
} 
if ( port1 == "" || checkIntNum(port1) == 0 || port1>65535){ 
if(inValue2 == null) alert("业务处理地址端口必须为数字且不能大于65535"); 
else alert("业务访问地址端口必须为数字且不能大于65535"); 
inValue1.focus(); 
return false; 
} 
} 
} 
//再检查第二个参数的合法性 
if(inValue2 != null && inValue2.value != ""){ 
var array2 = inValue2.value.split(":"); 
if(array2.length >=4){ 
alert("业务处理地址端口格式错误"); 
inValue2.focus(); 
return false; 
} 
if(array2.length >= 3) { 
port2 = array2[2]; 
if ((pos2 = port2.indexOf("/")) >= 0){ 
port2 = port2.substring(0,pos2) 
} 
if ( port2 == "" || checkIntNum(port2) == 0 || port2>65535){ 
alert("业务处理地址端口必须为数字且不能大于65535"); 
inValue2.focus(); 
return false; 
} 
} 
} 
return true; 
} 
//obj:数据对象 
//dispStr :失败提示内容显示字符串 
function checkUrlValid( obj, dispStr) 
{ 
if(obj == null) 
{ 
alert("传入对象为空"); 
return false; 
} 
var str = obj.value; 
var urlpatern0 = /^https?:\/\/.+$/i; 
if(!urlpatern0.test(str)) 
{ 
alert(dispStr+"不合法:必须以'http:\/\/'或'https:\/\/'开头!"); 
obj.focus(); 
return false; 
} 
var urlpatern2= /^https?:\/\/(([a-zA-Z0-9_-])+(\.)?)*(:\d+)?.+$/i; 
if(!urlpatern2.test(str)) 
{ 
alert(dispStr+"端口号必须为数字且应在1-65535之间!"); 
obj.focus(); 
return false; 
} 
var urlpatern1 =/^https?:\/\/(([a-zA-Z0-9_-])+(\.)?)*(:\d+)?(\/((\.)?(\?)?=?&?[a-zA-Z0-9_-](\?)?)*)*$/i; 
if(!urlpatern1.test(str)) 
{ 
alert(dispStr+"不合法,请检查!"); 
obj.focus(); 
return false; 
} 
var s = "0"; 
var t =0; 
var re = new RegExp(":\\d+","ig"); 
while((arr = re.exec(str))!=null) 
{ 
s = str.substring(RegExp.index+1,RegExp.lastIndex); 
if(s.substring(0,1)=="0") 
{ 
alert(dispStr+"端口号不能以0开头!"); 
obj.focus(); 
return false; 
} 
t = parseInt(s); 
if(t<1 || t >65535) 
{ 
alert(dispStr+"端口号必须为数字且应在1-65535之间!"); 
obj.focus(); 
return false; 
} 
} 
return true; 
} 
//函数名:checkVisibleEnglishChr 
//功能介绍:检查是否为可显示英文字符( !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~) 
//参数说明:要检查的字符串 
//返回值:true|false 
//add by renhj 2004.01.05 
function checkVisibleEnglishChr(strTemp) 
{ 
var i; 
for(i=0;i<strTemp.length;i++) 
{ 
if ((strTemp.charCodeAt(i)<32) || (strTemp.charCodeAt(i)>126)) 
return false; 
} 
return true; 
} 
//函数名:checkInputChr 
//功能介绍:检查是否含有非Input字符 
//参数说明:要检查的字符串 
//返回值:false:含有 true:全部为可Input字符 
//add by renhj 2004.01.05 
function checkInputChr(str) 
{ 
var notinput = "\"'<>"; 
var i; 
for (i = 0; notinput != null && i < notinput.length; i++) { 
if (str.indexOf(notinput.charAt(i)) >= 0) {//若有 
return false; 
} 
} 
return true; 
} 
//函数名:checkTelExt 
//功能介绍:检查是否为电话号码,并且无分机号 
//参数说明:要检查的字符串 
//返回值:1为是合法,0为不合法 
function checkTelExt(tel) 
{ 
var i,count,isNumber; 
count = 0; //有几个连续的数字串 
isNumber = 0; //不是数字 
for (i=0;i<tel.length;i++) 
{ 
//判断当前是否数字 
if(checkIntNum(tel.charAt(i)) == 1) 
{ 
if(isNumber == 0) 
{ 
count = count + 1; 
} 
isNumber = 1; 
}else{ 
isNumber = 0; 
} 
if (count > 2) 
{ 
//说明有字符不合法或者有分机号 
return 0; 
} 
} 
if((checkIntNum(tel.charAt(0)) == 1)&& 
(checkIntNum(tel.charAt(tel.length-1)) == 1)){ 
//说明合法 
return 1; 
}else{ 
//说明有字符不合法 
return 0; 
} 
} 
//函数名:checkFormdata 
//功能介绍:检查Form对象 
//参数说明: 
//obj:要检查的对象, 
//name:要检查的对象的中文名称, 
//length:检查的对象的长度(<0不检查), 
//notnull:为true则检查非空, 
//notSpecChar:为true则检查有无特殊字符, 
//notChinessChar:为true则检查有无中文字符, 
//numOrLetter:为true则检查只能为数字或英文字母, 
//pNumber:为true则检查只能为正整数, 
//返回值:false:检查不通过 true:全部为可Input字符 
//add by renhj 2004.03.19 
//@CheckItem@ BUG:1641:718-Renhj-20040902-Add5 修改校验数字的信息 
function checkFormdata(obj,name,length,notnull,notSpecChar,notChinessChar,numOrLetter,pNumber){ 
//检查对象 
if (!obj) {alert("目标不是对象,处理失败!");return false;} 
var msg; 
var ilen; 
//检测汉字 
if (notChinessChar&&(checkChinese(obj.value) != 1)){ 
msg=name+"不能包含汉字!"; 
alert(msg); 
obj.focus(); 
return false; 
} 
//检测特殊字符 
if(notSpecChar&&(!checkInputChr(obj.value))){ 
var notinput = "\"'<>"; 
msg=name+"有非法字符("+notinput+")!"; 
alert(msg); 
obj.focus(); 
return false; 
} 
//检测长度 
if(length>=0&&(checkLength(obj.value)>length)){ 
ilen=length/2; 
if(pNumber){ 
msg=name+"不能超过"+length+"个数字!"; 
}else if(notChinessChar){ 
msg=name+"不能超过"+length+"个英文!"; 
}else{ 
msg=name+"不能超过"+length+"个英文或"+ilen+"个汉字!"; 
} 
alert(msg); 
obj.focus(); 
return false; 
} 
//检测非空 
if(notnull&&obj.value==""){ 
msg="请输入"+name+"!"; 
alert(msg); 
obj.focus(); 
return false; 
} 
//检测只能为数字或英文字母 
re = /[\W_]/; 
if (numOrLetter&&re.exec(obj.value)) { 
msg=name+"只能为数字或英文字母!"; 
alert(msg); 
obj.focus(); 
return false; 
} 
//检测只能为只能为正整数 
re = /[\D_]/; 
if (pNumber&&re.exec(obj.value)) { 
msg=name+"只能为正整数!"; 
alert(msg); 
obj.focus(); 
return false; 
} 
return true; 
}
Javascript 相关文章推荐
基于jQuery的表格操作插件
Apr 22 Javascript
imgAreaSelect 中文文档帮助说明
Oct 08 Javascript
nullJavascript中创建对象的五种方法实例
May 07 Javascript
基于jquery插件实现常见的幻灯片效果
Nov 01 Javascript
JavaScript执行顺序详细介绍
Dec 04 Javascript
使用GruntJS构建Web程序之合并压缩篇
Jun 06 Javascript
javascript学习笔记(一)基础知识
Sep 30 Javascript
14款经典网页图片和文字特效的jQuery插件-前端开发必备
Aug 25 Javascript
JavaScript实现自定义媒体播放器方法介绍
Jan 03 Javascript
JS 学习总结之正则表达式的懒惰性和贪婪性
Jul 03 Javascript
JS获取填报扩展单元格控件的值的解决办法
Jul 14 Javascript
详解如何在vue项目中使用layui框架及采坑
May 05 Javascript
分享精心挑选的23款美轮美奂的jQuery 图片特效插件
Aug 14 #Javascript
JavaScript 布尔操作符解析  &amp;&amp; || !
Aug 10 #Javascript
JS多物体 任意值 链式 缓冲运动
Aug 10 #Javascript
JavaScript之引用类型介绍
Aug 10 #Javascript
jquery下checked取值问题的解决方法
Aug 09 #Javascript
js分解url参数(面向对象-极简主义法应用)
Aug 09 #Javascript
深入理解javascript学习笔记(一) 编写高质量代码
Aug 09 #Javascript
You might like
php smarty模版引擎中的缓存应用
2009/12/02 PHP
PhpMyAdmin中无法导入sql文件的解决办法
2010/01/08 PHP
php实现MD5加密16位(不要默认的32位)
2013/08/12 PHP
全新Mac配置PHP开发环境教程
2016/02/03 PHP
Laravel 队列使用的实现
2019/01/08 PHP
PDO::commit讲解
2019/01/27 PHP
php中yii框架实例用法
2020/12/22 PHP
javascript Select标记中options操作方法集合
2008/10/22 Javascript
JavaScript的parseInt 进制问题
2009/05/07 Javascript
处理及遍历XML文档DOM元素属性及方法整理
2013/08/23 Javascript
Java/JS获取flash高宽的具体方法
2013/12/27 Javascript
Javascript中的call()方法介绍
2015/03/15 Javascript
javascript实时获取鼠标坐标值并显示的方法
2015/04/30 Javascript
jQuery实现的鼠标滑过弹出放大图片特效
2016/01/08 Javascript
js上下视差滚动简单实现代码
2017/03/07 Javascript
jQuery实现菜单栏导航效果
2017/08/15 jQuery
快速了解vue-cli 3.0 新特性
2018/02/28 Javascript
浅谈vuepress 踩坑记
2018/04/18 Javascript
Vue表单及表单绑定方法
2018/09/04 Javascript
Vuex新手的理解与使用详解
2019/05/31 Javascript
layui--select使用以及下拉框实现键盘选择的例子
2019/09/24 Javascript
js刷新页面location.reload()用法详解
2019/12/09 Javascript
原生JavaScript实现随机点名表
2021/01/14 Javascript
[51:28]EG vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/16 DOTA
Python中SOAP项目的介绍及其在web开发中的应用
2015/04/14 Python
详解python中__name__的意义以及作用
2019/08/07 Python
Python循环实现n的全排列功能
2019/09/16 Python
Django 允许局域网中的机器访问你的主机操作
2020/05/13 Python
如何利用python发送邮件
2020/09/26 Python
澳大利亚优质葡萄酒专家:Vintage Cellars
2019/01/08 全球购物
三个儿子教学反思
2014/02/03 职场文书
小学敬老月活动方案
2014/02/11 职场文书
上课打牌的检讨书
2014/02/15 职场文书
不错的求职信范文
2014/07/20 职场文书
中国汉字听写大会观后感
2015/06/02 职场文书
以下牛机,你有几个
2022/04/05 无线电