常用一些Javascript判断函数

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;
}

(0)

相关推荐

  • 常用一些Javascript判断函数

    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)>inne

  • Javascript 判断函数类型完美解决方案

    但是,有一些细节并不为我们所熟知.John Resig 在分析了这些细节之后,为我们提供了一个完美的解决方案,本文将作详细介绍: 一.传统方法不为人所知的细节 毫无疑问,在判断函数类型时,我们使用的是typeof方法,比如: 复制代码 代码如下: function fn(){ //content } alert(typeof fn)//结果是"function". 但是,该方法在一些浏览器中并不是像我们想像的那样工作. 1.Firefox2和Firefox3 在这两个浏览器中,用typ

  • PHP的几个常用数字判断函数代码

    复制代码 代码如下: <HTML> <HEAD> <TITLE>常用的数值判断函数</TITLE> </HEAD> <BODY> <? //判断数组 $colors = array("red", "blue", "green"); if(is_array($colors)) { print("colors is an array"."<

  • javascript判断css3动画结束 css3动画结束的回调函数

    css3 的时代,css3--动画 一切皆有可能: 传统的js 可以通过回调函数判断动画是否结束:即使是采用CSS技术生成动画效果,JavaScript仍然能捕获动画或变换的结束事件: transitionend事件和animationend事件标准的浏览器事件,但在WebKit浏览器里你仍然需要使用webkit前缀,所以,我们不得不根据各种浏览器分别检测事件 复制代码 代码如下: var transitions = {        'transition':'transitionend',

  • JavaScript中判断函数、变量是否存在

    一.是否存在指定函数 function isExitsFunction(funcName) { try { if (typeof(eval(funcName)) == "function") { return true; } } catch(e) {} return false; } 二.类似PHP常用的判断函数是否存在,不存在则创建 if (typeof String.prototype.endsWith != 'function') { String.prototype.endsW

  • JavaScript正则表达式函数总结(常用)

    /* 测试环境:Chrome 63.0.3239.132 */ JS中正则对象修饰符可选值为:"i" "g" "m",即忽略大小写 进行全局匹配 多行模式 JS中正则表达式支持的元字符: 1:枚举方括号表达式,范围方括号表达式,枚举取反方括号表达式,范围取反方括号表达式 2:. \w \W \d \D \s \S \b \B \n \r \f \v \888 \uffff \xff 3:n? n+ n* n{a} n{a,} n{a,b}及这些量

  • JavaScript封闭函数及常用内置对象示例

    本文实例讲述了JavaScript封闭函数及常用内置对象.分享给大家供大家参考,具体如下: 封闭函数 在封闭函数内部定义的函数与外部函数尽管同名也没有关系,同理,定义的变量也可以同名. 封闭函数的写法,一是加括号,一是加感叹号. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>封闭函数</title> &

  • JavaScript常用语句循环,判断,字符串换数字

    目录 1.switch 2.While 循环 3.Do/While 循环 3.字符串转换数字 1.switch 选择多个需被执行的代码块之一 switch(e) { case 1: //e为1执行这里 break; case 2: //e为2执行这里 break; default: //都不满足执行这里 } 注意: 不必用break中断 switch 代码块中的最后一个 case.代码块在此处会自然结束. Switch case 使用严格比较(===),值必须与要匹配的类型相同. 如果 Java

  • JavaScript知识点总结(六)之JavaScript判断变量数据类型

    最近做了一个项目,其中有关于js判断数据类型的处理,在网上搜了相关资料,并且亲自测试了各种数据类型的判断,绝对安全.下面小编把具体内容总结分享给大家,大家参考下! 一.JS中的数据类型 1.数值型(Number):包括整数.浮点数. 2.布尔型(Boolean) 3.字符串型(String) 4.对象(Object) 5.数组(Array) 6.空值(Null) 7.未定义(Undefined) 二.判断一个变量的数据类型 1.数值型(number) 比较常用的判断方法是: function i

  • JS简单判断函数是否存在的方法

    本文实例讲述了JS简单判断函数是否存在的方法.分享给大家供大家参考,具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <hea

随机推荐