常用一些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 相关文章推荐
用box固定长宽实现图片自动轮播js代码
Jun 09 Javascript
深入理解javascript作用域第二篇之词法作用域和动态作用域
Jul 24 Javascript
Bootstrap和Java分页实例第一篇
Dec 23 Javascript
Vue中fragment.js使用方法详解
Mar 09 Javascript
js调用刷新界面的几种方式
May 03 Javascript
vue学习之mintui picker选择器实现省市二级联动示例
Oct 12 Javascript
JS+HTML实现的圆形可点击区域示例【3种方法】
Aug 01 Javascript
vue.js中toast用法及使用toast弹框的实例代码
Aug 27 Javascript
微信小程序访问豆瓣电影api的实现方法
Mar 31 Javascript
Vue 封装防刷新考试倒计时组件的实现
Jun 05 Javascript
使用jquery实现轮播图效果
Jan 02 jQuery
create-react-app开发常用配置教程
Jun 25 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数据类型之布尔型的介绍
2013/04/28 PHP
PHP设计模式之工厂模式与单例模式
2016/09/28 PHP
PHP实现移除数组中为空或为某值元素的方法
2017/01/07 PHP
PHP分页显示的方法分析【附PHP通用分页类】
2018/05/10 PHP
JS实现浏览器菜单命令
2006/09/05 Javascript
JS中使用Array函数shift和pop创建可忽略参数的例子
2014/05/28 Javascript
关于Javascript加载执行优化的研究报告
2014/12/16 Javascript
简介JavaScript中的getSeconds()方法的使用
2015/06/10 Javascript
jQuery模仿京东/天猫商品左侧分类导航菜单效果
2016/06/29 Javascript
打造自己的jQuery插件入门教程
2016/09/23 Javascript
Bootstrap源码解读表单(2)
2016/12/22 Javascript
JavaScript使用delete删除数组元素用法示例【数组长度不变】
2017/01/17 Javascript
在 Angular 中实现搜索关键字高亮示例
2017/03/21 Javascript
Vue 2.0中生命周期与钩子函数的一些理解
2017/05/09 Javascript
JavaScript Date对象应用实例分享
2017/10/30 Javascript
jquery animate动画持续运动的实例
2017/11/29 jQuery
全新打包工具parcel零配置vue开发脚手架
2018/01/11 Javascript
JavaScript设计模式之装饰者模式实例详解
2019/01/17 Javascript
浅谈JavaScript闭包
2019/04/09 Javascript
vue3 watch和watchEffect的使用以及有哪些区别
2021/01/26 Vue.js
Python实现k-means算法
2018/02/23 Python
对Python 语音识别框架详解
2018/12/24 Python
centos 安装Python3 及对应的pip教程详解
2019/06/28 Python
python实现五子棋游戏(pygame版)
2020/01/19 Python
基于MUI框架使用HTML5实现的二维码扫描功能
2018/03/01 HTML / CSS
Hunter Boots美国官方网站:赫特威灵顿雨靴
2018/06/16 全球购物
文员个人求职自荐信
2013/09/21 职场文书
党的群众路线教育实践活动总结报告
2014/04/28 职场文书
党员对照检查材料思想汇报(党的群众路线)
2014/09/24 职场文书
有限公司股东合作协议书
2014/10/29 职场文书
党员个人总结自评
2015/02/14 职场文书
2015仓库保管员年终工作总结
2015/05/13 职场文书
导游词之海南-南湾猴岛
2019/10/12 职场文书
Python insert() / append() 用法 Leetcode实战演示
2021/03/31 Python
使用react-virtualized实现图片动态高度长列表的问题
2021/05/28 Javascript
vue使用wavesurfer.js解决音频可视化播放问题
2022/04/04 Vue.js