常用一些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 相关文章推荐
javascript 面向对象 function类
May 13 Javascript
jquery乱码与contentType属性设置问题解决方案
Jan 07 Javascript
js自定义事件及事件交互原理概述(二)
Feb 01 Javascript
jQuery使用drag效果实现自由拖拽div
Jun 11 Javascript
配置Grunt的Task时通配符支持和动态生成文件名问题
Sep 06 Javascript
超链接怎么正确调用javascript函数
May 23 Javascript
javascript构造函数以及原型对象的理解
Jan 13 Javascript
Angular2 父子组件数据通信实例
Jun 22 Javascript
bmob js-sdk 在vue中的使用教程
Jan 21 Javascript
详解Vue SPA项目优化小记
Jul 03 Javascript
工作中常用到的ES6语法
Sep 04 Javascript
vue实现一个获取按键展示快捷键效果的Input组件
Jan 13 Vue.js
分享精心挑选的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
基于curl数据采集之单页面并行采集函数get_htmls的使用
2013/04/28 PHP
php过滤敏感词的示例
2014/03/31 PHP
Laravel框架实现model层的增删改查(CURD)操作示例
2018/05/12 PHP
php 多继承的几种常见实现方法示例
2019/11/18 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
javascript 常用代码技巧大收集
2009/02/25 Javascript
dess中一个简单的多路委托的实现
2010/07/20 Javascript
jquery插件实现鼠标经过图片右侧显示大图的效果(类似淘宝)
2013/02/04 Javascript
jQuery图片滚动图片的效果(另类实现)
2013/06/02 Javascript
js截取固定长度的中英文字符的简单实例
2013/11/22 Javascript
jquery实现鼠标滑过显示提示框的方法
2015/02/05 Javascript
为JQuery EasyUI 表单组件增加焦点切换功能的方法
2017/04/13 jQuery
vue-router 导航钩子的具体使用方法
2017/08/31 Javascript
vue下history模式刷新后404错误解决方法
2018/08/18 Javascript
node.js 基于cheerio的爬虫工具的实现(需要登录权限的爬虫工具)
2019/04/10 Javascript
浅谈Vue CLI 3结合Lerna进行UI框架设计
2019/04/14 Javascript
jQuery实现全选、反选和不选功能的方法详解
2019/12/04 jQuery
解决ant design vue中树形控件defaultExpandAll设置无效的问题
2020/10/26 Javascript
python中mechanize库的简单使用示例
2014/01/10 Python
python简单实现刷新智联简历
2016/03/30 Python
浅谈Python 字符串格式化输出(format/printf)
2016/07/21 Python
python文件名和文件路径操作实例
2017/09/29 Python
Python3实现取图片中特定的像素替换指定的颜色示例
2019/01/24 Python
Python定时任务APScheduler的实例实例详解
2019/07/22 Python
redis数据库及与python交互用法简单示例
2019/11/01 Python
python3中关于excel追加写入格式被覆盖问题(实例代码)
2020/01/10 Python
使用tensorflow实现矩阵分解方式
2020/02/07 Python
python实现拼图小游戏
2020/02/22 Python
python绘图pyecharts+pandas的使用详解
2020/12/13 Python
四查四看剖析材料
2014/02/14 职场文书
机械制造毕业生求职信
2014/03/03 职场文书
推荐信怎么写
2014/05/09 职场文书
2014年乡镇工作总结
2014/11/21 职场文书
2016高考感言
2015/08/01 职场文书
2016年班主任新年寄语
2015/08/18 职场文书
个人工作失误的保证书怎么写?
2019/06/21 职场文书