喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 帮助

RSS 订阅当前论坛  

喜悦证交所已经关闭

上一主题 下一主题
     
标题: [代码] 发布一个东东希望大家有用  
 
失忆今生
中级会员
Rank: 3Rank: 3
一般会员


UID 25265
精华 0
积分 294
帖子 278
金钱 294 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2003-12-17
来自 -
状态 离线
发布一个东东希望大家有用

// JavaScript Document
/*
* @author :失忆今生
* @QQ     :42017217
* @date   :2007-04-30
* @Version: 1.0
* @在开发过程中常常被美工把加的JAVASCRIPT给清掉,
* @为了减少在开发过程中做重复工作特写些代码,同时间也可以减少工作量
* @其中有些地方借鉴了别人的经验,如果你有什么好的方法可以和我交流
*/
/*================================验证属性对照表===============================*/
//vt:填写数据类型;on:错误提示信息;r:是否为必填项true为必填写;max:是了大值/
//mil:最小长度;mal:最大长度;decimalLen小数位长度;mis最少选择项数;mas最大选择/
//min;最小整数;max:最大值整数|{表单属性可以自定义,如<input name="name" type=/
//"text" value="" tt="你好">取得性值如:document.form.element.tt==你好!}       /
/*=============================================================================*/
var xmlHttp;
function creatXMLHttpRequest(){
        msxml_progid=['MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP','Microsoft.XMLHTTP'];

        try{
                xmlHttp=new window.XMLHttpRequest();
        }catch(e){
                for(var i=0;i<msxml_progid.length;++i){
                        try{
                                xmlHttp=new ActiveXObject(msxml_progid);
                                break;
                        }catch(e){}
                }
        }
}

/*
*method string 传送方式
*url string 传送地址
*hand string 接收处理函数
*queryString string 发送字符串
*/
function startRequest(method,url,hand,queryString){
        if(queryString=="")return false;//字符串为空就啥事也不做
        creatXMLHttpRequest();
        xmlHttp.open(method,url,"true");
        if(hand!=""){
                eval("xmlHttp.onreadystatechange = "+hand);       
        }else{
                xmlHttp.onreadystatechange = handleStateChange;
        }
        xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
        xmlHttp.send(queryString);
       
        return true;
}

function handleStateChange() {
        var div = '<div id="Dial" style="position:absolute; left:306px; top:200px; width:352px; height:48px; z-index:1; background-color: #FFFFFF; layer-background-color: #FFFFFF; visibility: inherit; border: 1px solid #000000;"></div>';
        document.body.innerHTML = div + document.body.innerHTML;
        if(xmlHttp.readyState == 1) {
                document.Dial.innerHTML = "正在处理中,请稍候......请不要关闭浏览器";
        }
        if(xmlHttp.readyState == 4) {
                if(xmlHttp.status == 200) {
                        var allcon =  xmlHttp.responseText;
                        document.Dial.innerHTML = allcon;
                }
        }
}
/*
* @取得表单变量
* @formName string 表单名
* @v boolean 是不验证
*/
function checkForm(formName,vali)
{
         eval("var oForm=document."+formName);
         var e = oForm.elements;
         var valueTemp = "";
         for(var i=0;i<e.length;i++){
                 valueTemp = valueTemp != "" ? valueTemp + "&":"";
                 valueTemp = valueTemp + e.name + "=" + e.value;
         }
         
         if(vali){
                 if(CheckForm(formName)){
                        return valueTemp;
                }else{
                        return "";
                }
         }else{
                 return valueTemp;
         }
}

/*
* 检查表单填写是否合法
* @ formName string 表单名
*/
function CheckForm(formName){
        eval("var oForm=document."+formName);
        var eles = oForm.elements;
       
        for(var i=0;i<eles.length;i++){
                //是否需要验证
                var sType=eles.vt;
                var str=new String(eles.value);
                if (!chksafe(str)){  
                        alert("您输入的"+convertNullToSpace(eles.on)+"包含非法字符");
                        eles.focus();
                        return false;   
                }       
               
                if(sType){
                        if(eles.r!=null && eles.r=="true" ){
                                if(trim(eles.value)=="" && sType!="select"){
                                        if(eles.on!=null){
                                                alert(eles.on+"不可以为空");
                                        }else{
                                                alert("该文本框为必输字段");
                                        }
                                        eles.focus();
                                        event.returnValue=false;return false;
                                }
                        }
                       
                        if (!(eles.r!="true" && trim(eles.value)==""))
                               
                        switch(sType){
                                //整数
                                case "int":
                                        if(!validInt(eles)){
                                                event.returnValue=false;
                                                return false;
                                        }
                                break;
                                //小数
                                case "float":
                                        if(!validFloat(eles)){
                                                event.returnValue=false;
                                                return false;
                                        }
                                        break;
                                //字符串
                                case "string":
                                        if(!validString(eles)){
                                                event.returnValue=false;
                                                return false;
                                        }
                                        break;
                                //数字编号
                                case "nuidck":
                                        if(!nuidck(eles)){
                                                event.returnValue=false;
                                                return false;
                                        }
                                        break;
                                case "checkid":
                                        if(!checkid(eles)){
                                                event.returnValue=false;
                                                return false;
                                        }
                                        break;
                                //检查是否为英文字符
                                case "estring":
                                        if(!valideString(eles)){
                                                event.returnValue=false;
                                                return false;
                                        }
                                        break;
                                //检查是否为中文字符
                                case "cstring":
                                        if(!validcString(eles)){
                                                event.returnValue=false;
                                                return false;
                                        }
                                        break;
                               
                                //日期
                                case "date":
                                        if(!validDate(eles)){
                                                event.returnValue=false;
                                                return false;
                                        }
                                        break;
                                //邮件
                                case "email":
                                        if(!validEmail(eles)){
                                                event.returnValue=false;
                                                return false;
                                        }
                                        break;
                                //单选按钮
                                case "radio":
                                        if(!validRadio(eles.name)){
                                                event.returnValue=false;
                                                return false;
                                        }
                                        break;
                                //复选按钮
                                case "checkbox":
                                        // alert(eles.name);
                                        if(!validBox(eles.name)){  
                                                event.returnValue=false;
                                                return false;
                                        }
                                        break;
                                //下拉列表框
                                case "select":
                                        if(!validSelect(eles)){
                                                event.returnValue=false;
                                                return false;
                                        }
                                        break;
                                //列表框
                                case "list":
                                        if(!validList(eles)){
                                                event.returnValue=false;
                                                return false;
                                        }
                                        break;
                                //比较
                                case "compare":
                                        if (!validCompare(eles)){
                                                event.returnValue=false;
                                                return false;
                                        }
                                        break;
                                //执行一段代码
                                case "code":
                                        var code = eles.c.replace("this",eles);
                                        eval(code);

                        }//end swith
                }
        }
        event.returnValue=true;
        return true;
}
/***验证是否为整数***/
function validInt(ele){
        if(!isInt(ele.value)){
                alert("请输入有效整数");
                ele.focus();
                return false;
        }else{
                if(ele.max!=null && !isNaN(ele.max))
                        if(parseInt(ele.max)<parseInt(ele.value)){
                                alert("您输入的 "+ convertNullToSpace(ele.on)+" 值应该小于"+ele.max);
                                ele.focus();
                                return false;
                        }
                if(ele.min!=null && !isNaN(ele.min))
                        if(parseInt(ele.min)>parseInt(ele.value)){
                                alert("您输入的 "+ convertNullToSpace(ele.on)+" 值应该大于"+ele.min);
                                ele.focus();
                                return false;
                        }
        }
        return true;
}
/***判断是否为整数***/
function isInt(s){
        var patrn=/^0|^[1-9]\d*/;
        if (!patrn.exec(s)){
                return false;
        }else{
                return true;
        }
}
/***验证是否为小数***/
function validFloat(ele){
        if(isNaN(ele.value)){
                alert("金额中请输入有效数字");
                ele.focus();
                return false;
        }else{
                if(ele.decimalLen!=null && !checkDecimal(ele.value,ele.decimalLen)){
                        alert("您输入的 "+convertNullToSpace(ele.on)+" 值小数位最多为"+ele.decimalLen+"个小数位");
                        ele.focus();
                        return false;
                }
                if(ele.max!=null && !isNaN(ele.max))
                        if(parseInt(ele.max)<parseInt(ele.value)){
                                alert("您输入的 "+ convertNullToSpace(ele.on)+" 值应该小于"+ele.max);
                                ele.focus();
                                return false;
                        }
                if(ele.min!=null && !isNaN(ele.min))
                        if(parseInt(ele.min)>parseInt(ele.value)){
                                alert("您输入的 "+ convertNullToSpace(ele.on)+" 值应该大于"+ele.min);
                                ele.focus();
                                return false;
                        }
        }
        return true;
}

/***验证是否为字符串***/
function validString(ele){
        //最小长度
        if(ele.mil!=null && !isNaN(ele.mil)){
                var value=new String(ele.value);
                if(value.replace(/[^\x00-\xff]/g,"**").length<parseInt(ele.mil)){
                        alert("您输入的 "+convertNullToSpace(ele.on)+" 字数最小长度为"+ele.mil);
                        ele.focus();
                        return false;
                }
        }
        //最大长度
        if(ele.mal!=null && !isNaN(ele.mal)){
                var value=new String(ele.value);
                if(value.replace(/[^\x00-\xff]/g,"**").length>parseInt(ele.mal)){
                        alert("您输入的 "+convertNullToSpace(ele.on)+" 字数最大长度为"+ele.mal);
                        ele.focus();
                        return false;
                }
        }
        return true;
}

/***验证是否为英文字符串***/
function valideString(ele){
        var str=new String(ele.value);
        if (str.replace(/[^\x00-\xff]/g,"**").length!=str.length){
                alert("您输入的 "+convertNullToSpace(ele.on)+" 中包含双字节字符");
                ele.focus();
                return false;
        }

        //最小长度
        if(ele.mil!=null && !isNaN(ele.mil)){
                var value=new String(ele.value);
                if(value.length<parseInt(ele.mil)){
                        alert("您输入的 "+convertNullToSpace(ele.on)+" 字数最小长度为"+ele.mil);
                        ele.focus();
                        return false;
                }
        }
        //最大长度
        if(ele.mal!=null && !isNaN(ele.mal)){
                var value=new String(ele.value);
                if(value.length>parseInt(ele.mal)){
                        alert("您输入的 "+convertNullToSpace(ele.on)+" 字数最大长度为"+ele.mal);
                        ele.focus();
                        return false;
                }
        }
        return true;
}


/***验证身份证号码***/
function checkid(ele){
        var sID = new String(ele.value);
       
        if(!(/^\d{15}$|^\d{18}$|^\d{17}x$/.test(sID))){
                alert("您输入正确的 "+convertNullToSpace(ele.on));
                ele.focus();
                return false;
        }
        return true;
}


/***验证数字编号***********/
function nuidck(ele){
        var str=new String(ele.value);
        var cmp="0123456789-";
        //是乎为字符
        for (var i=0;i<str.length;i++){
                if (cmp.indexOf(str.substring(i,i+1))<0){
                        alert("您输入的 "+convertNullToSpace(ele.on)+" 非法字符");
                        ele.focus();
                        return false;
                }
        }
        //最小长度
        if(ele.mil!=null && !isNaN(ele.mil) && str.length<parseInt(ele.mil)){
                alert("您输入的 "+convertNullToSpace(ele.on)+" 字数最小长度为"+ele.mil);
                ele.focus();
                return false;
        }
        //最大长度
        if(ele.mal!=null && !isNaN(ele.mal) && str.length>parseInt(ele.mal)){
                alert("您输入的 "+convertNullToSpace(ele.on)+" 字数最大长度为"+ele.mal);
                ele.focus();
                return false;
        }
        return true;
}



/***验证是否为中文字符串***/
function validcString(ele){
        var str=new String(ele.value);
        if (str.replace(/[^\x00-\xff]/g,"**").length!=str.length*2){
                alert("您输入的 "+convertNullToSpace(ele.on)+" 中包含单字节字符");
                ele.focus();
                return false;
        }
        //最小长度
        if(ele.mil!=null && !isNaN(ele.mil)){
                var value=new String(ele.value);
                if(value.length<parseInt(ele.mil)){
                        alert("您输入的 "+convertNullToSpace(ele.on)+" 字数最小长度为"+ele.mil);
                        ele.focus();
                        return false;
                }
        }
        //最大长度
        if(ele.mal!=null && !isNaN(ele.mal)){
                var value=new String(ele.value);
                if(value.length>parseInt(ele.mal)){
                        alert("您输入的 "+convertNullToSpace(ele.on)+" 字数最大长度为"+ele.mal);
                        ele.focus();
                        return false;
                }
        }
        return true;
}
/***验证是否为日期格式***/
function validDate(ele)
{
        if(!isDate(ele.value)&&ele.value!=""){
                alert("请输入有效日期(yyyy-mm-dd)");
                ele.focus();
                return false;
        }
        return true;
}
/***判断是否为日期***/
function isDate(str)
{
        var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})/);
        if(r==null)return false;

        var d= new Date(r[1], r[3]-1, r[4]);
        if(!(d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4])){
                return false;
        }
        return true;
}
/***验证是否为电子邮箱***/
function validEmail(ele){
        if(!isEmail(ele.value)){
                alert("请输入有效邮箱");
                ele.focus();
                return false;
        }
return true;
}
/***判断是否为邮箱***/
function isEmail(Email){
        var e = /^[^@ ]+@([a-zA-Z0-9-]+.)+([a-zA-Z0-9-]{2}|net|com|gov|mil|org|edu|int)/gim;
        if(Email.search(e)==-1)
                return false;
        else
                return true;
}
/***验证单选按钮是否需要选择***/
function validRadio(eleName)
{
        var ele = document.getElementsByName(eleName);
        //eval("var rads="+name+"."+ele.name);
        var selectCount=0;
        for(var i=0;i<ele.length;i++)
        {
                if(ele.checked)selectCount++;
        }

        if(ele[0].r!=null){
                if(selectCount==0){
                        alert("请选择"+convertNullToSpace(ele[0].on));
                        ele[0].focus();
                        return false;
                }
        }
        return true;
}
/***验证复选按钮是否需要选择***/
function validBox(eleName){
        var ele = document.getElementsByName(eleName); //add by eyes
        //alert(ele[2].mis);
        //alert("ele length:"+ele.length);
        //   eval("var chks="+name+"."+ele.name);
        var selectCount=0;
        for(var i=0;i<ele.length;i++)
        {
                if(ele.checked)selectCount++;
        }

        if(ele[0].mis!=null && !isNaN(ele[0].mis)){//注意这里用ele[0],而不是ele.minsel
                //alert("有mis");
                if(selectCount<parseInt(ele[0].mis)){
                        alert(convertNullToSpace(ele.on)+"至少选择"+ele[0].mis+"项");
                        ele[0].focus();
                        return false;
                }
        }
        if(ele[0].mas!=null && !isNaN(ele[0].mas))
        {
                if(selectCount>parseInt(ele[0].mas)){
                        alert(convertNullToSpace(ele[0].on)+"至多选择"+ele[0].mas+"项");
                        ele[0].focus();
                        return false;
                }
        }
        return true;
}
/***验证下拉列表框是否需要选择***/
function validSelect(ele){
        //var rads = document.getElementsByName(ele.name);
        if(ele.r!=null && ele.r){
                if(ele.selectedIndex==0){
                        alert("请选择"+convertNullToSpace(ele.on));
                        ele.focus();
                        return false;
                }
        }
        return true;
}




/***验证列表框的选择项数***/
function validList(ele)
{
        //var rads = document.getElementsByName(ele.name);
        var selectCount=0;
        for(var i=0;i<ele.options.length;i++){
                if(ele.options.selected)selectCount++;
        }
       
        if(ele.mis!=null && !isNaN(ele.mis)){
                if(selectCount<parseInt(ele.mis)){
                        alert(convertNullToSpace(ele.on)+"至少选择"+ele.mis+"项");
                        ele.focus();
                        return false;
                }
        }
        if(ele.mas!=null && !isNaN(ele.mas)){
                if(selectCount>parseInt(ele.mas)){
                        alert(convertNullToSpace(ele.on)+"至多选择"+ele.mas+"项");
                        ele.focus();
                        return false;
                }
        }
        return true;
}
/***将NULL转化为空格,用于显示对象名称***/
function convertNullToSpace(paramValue){
        if(paramValue==null)
                return "";
        else
                return paramValue;
}
/***检查小数位数***/
function checkDecimal(num,decimalLen){
        var len = decimalLen*1+1;
        if(num.indexOf('.')>0){
                num=num.substr(num.indexOf('.')+1,num.length-1);
                if ((num.length)<len){
                        return true;
                }else{
                        return false;
                }
        }
        return true;
}
/***去除空格***/
function trim(str){
        if (str.length > 0){
                while ((str.substring(0,1) == " ") && (str.length > 0)){
                        str = str.substring(1,str.length);
                }
                while (str.substring(str.length-1,str.length) == " "){
                        str = str.substring(0,str.length-1);
                }
        }
        return str;
}

///////////////////////add by eyes/////////////////////
//比较
function validCompare(ele){
        var to = document.getElementsByName(ele.to);
        if (ele.value!=to[0].value){
                alert("两次"+to[0].on+"不一样");
                ele.focus();
                return false;
        }
        return true;
}

//检测是是否包含安全字符串
function chksafe(a)
{
        fibdn = new Array ("'" ,";");
        i=fibdn.length;
        j=a.length;
        for (ii=0;ii<i;ii++){
                for (jj=0;jj<j;jj++){
                        valueTemp1=a.charAt(jj);
                        valueTemp2=fibdn[ii];
                        if (valueTemp1==valueTemp2) return false;
                }
        }
        return true;
}
2007-5-8 10:18 AM#1
查看资料  发短消息  QQ . .   Yahoo!  顶部
 
millken
高级会员
Rank: 4


UID 73040
精华 0
积分 754
帖子 533
金钱 754 喜悦币
威望 0
人脉 0
阅读权限 50
注册 2006-5-9
来自 REFERER
状态 在线
[推荐阅读] 复选框问题,请村友帮忙.
晕  排下版吧



Blogger 免费搭建的个人BLOG
2007-5-9 09:24 AM#2
查看资料  Blog  发短消息  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.037135 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP