常用一些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 相关文章推荐
Mootools 1.2教程 选项卡效果(Tabs)
Sep 15 Javascript
JavaScript下通过的XMLHttpRequest发送请求的代码
Jun 28 Javascript
JS中不为人知的五种声明Number的方式简要概述
Feb 22 Javascript
简体中文转换繁体中文(实现代码)
Dec 25 Javascript
JS,Jquery获取select,dropdownlist,checkbox下拉列表框的值(示例代码)
Jan 11 Javascript
表单提交前触发函数返回true表单才会提交
Mar 11 Javascript
JavaScript自定义文本框光标
Mar 05 Javascript
JS图片预加载插件详解
Jun 21 Javascript
React通过父组件传递类名给子组件的实现方法
Nov 13 Javascript
JS实现页面数据懒加载
Feb 13 Javascript
基于Web Audio API实现音频可视化效果
Jun 12 Javascript
vue3中provide && inject的使用
Jul 01 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
PHP使用正则表达式获取微博中的话题和对象名
2015/07/18 PHP
大家都应该掌握的PHP关联数组使用技巧
2015/12/25 PHP
php安装ssh2扩展的方法【Linux平台】
2016/07/20 PHP
PHP+mysql实现从数据库获取下拉树功能示例
2017/01/06 PHP
通过php动态传数据到highcharts
2017/04/05 PHP
利用js获取服务器时间的两个简单方法
2010/01/08 Javascript
javascript利用初始化数据装配模版的实现代码
2010/11/17 Javascript
jQuery AJAX实现调用页面后台方法和web服务定义的方法分享
2012/03/01 Javascript
get(0).tagName获得作用标签示例代码
2014/10/08 Javascript
Node.js实现兼容IE789的文件上传进度条
2016/09/02 Javascript
Angular2 (RC5) 路由与导航详解
2016/09/21 Javascript
常用的javascript设计模式
2017/01/11 Javascript
vue-axios使用详解
2017/05/10 Javascript
Vue2.0 从零开始_环境搭建操作步骤
2017/06/14 Javascript
基于jquery日历价格、库存等设置插件
2020/07/05 jQuery
vue引入新版 vue-awesome-swiper插件填坑问题
2018/01/25 Javascript
Vue2.5 结合 Element UI 之 Table 和 Pagination 组件实现分页功能
2018/01/26 Javascript
详解webpack模块加载器兼打包工具
2018/09/11 Javascript
Vue项目History模式404问题解决方法
2018/10/31 Javascript
Vue动画事件详解及过渡动画实例
2019/02/09 Javascript
js 计数排序的实现示例(升级版)
2020/01/12 Javascript
JavaScript 替换所有匹配内容及正则替换方法
2020/02/12 Javascript
在Python中操作列表之List.append()方法的使用
2015/05/20 Python
python制作最美应用的爬虫
2015/10/28 Python
Python判断变量是否为Json格式的字符串示例
2017/05/03 Python
使用python Fabric动态修改远程机器hosts的方法
2018/10/26 Python
python多任务及返回值的处理方法
2019/01/22 Python
Python常见读写文件操作实例总结【文本、json、csv、pdf等】
2019/04/15 Python
Django中如何使用sass的方法步骤
2019/07/09 Python
django ManyToManyField多对多关系的实例详解
2019/08/09 Python
Python MySQLdb 执行sql语句时的参数传递方式
2020/03/04 Python
使用pyecharts1.7进行简单的可视化大全
2020/05/17 Python
简约控的天堂:The Undone
2016/12/21 全球购物
学习雷锋标语
2014/06/25 职场文书
Golang 正则匹配效率详解
2021/04/25 Golang
详解MySQL主从复制及读写分离
2021/05/07 MySQL