/*! * fjdz JavaScript Library v0.1 * http://www.fjdz.com.cn/ * * Copyright 2013, Fjdz * * Date: 2013-7-17 10:49:19 * 2013年7月29日11:04:34 * 2013年8月19日11:46:54 */ /** Fjdz 一些通用方法 */ var Fjdz = { jsPath: "/fjdz/", resPath: "/fjdz/", getQueryString: function(name) { //获取url参数,使用方法: Fjdz.getQueryString("key") var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return null; }, imgFocus: function(obj, w, h, th, s, pl, ll, tl) { //输出html的对象,宽度,高度,文本高度,样式(1,2) var _w = w || 240, _h = h || 200, _th = th || 0, _s = s || 1; var _fh = _h + _th; var f = "focus1.swf", sHtml = ""; switch (_s) { case 1: f = this.resPath + "focus1.swf"; break; case 2: f = this.resPath + "focus2.swf"; break; default: f = this.resPath + "focus1.swf"; break; } sHtml += ''; sHtml += ''; sHtml += ''; sHtml += ''; sHtml += ''; sHtml += ''; obj.html(sHtml); }, /** 校验方法,传入参数 id 表示对象的表单对象的id name 表单对象的名称,在提示时会进行显示,如没有定义,会 显示为“表单对象[id]” required 是否必填 maxL 最大长度 minL 最小长度 p 校验模式, 正则表达式( \ 需要转义 即正则表达式中的\要输入为\\) mail 电子邮件 phone 电话 Chinese 汉字 number 数字 var v = { t : [ { id : "sender" , name:"姓名" , required : true , maxL : 10 , minL : 2 }, { id : "email" , name: "E-mail" ,required : true , maxL : 20 , minL : 2 , p : "mail" }, { id : "title" , name: "标题" ,required : true , maxL : 50 , minL : 2 }, { id : "vCode" , name: "验证码" ,required : true , maxL : 500 , minL : 2 }, { id : "content" , name: "内容" ,required : true , maxL : 500 , minL : 2 } ] }; return Fjdz.v(v); */ v : function( v ){ //校验方法,传入参数 for( i = 0 ; i < v.t.length ; i ++ ){ var obj = v.t[i],msg = "",itemValue=""; var objName = ( obj.name == "" || obj.name == undefined ) ? ("表单项目["+obj.id+"]") : obj.name; var formItem = $("#" + obj.id ); var m = function(s){ if( $.dialog ){ $.dialog({ title:"提示信息", content: s, lock: true, id:"showAlertDia", //okValue:"确定", cancelValue:"确定", cancel:function(){} }); }else{ alert(s); } } if(formItem.length==0){ continue;//如果没有对应的对象,则跳出循环,继续下一次 }else if(formItem[0].type=="text"){//根据表单的类型进行取值 itemValue = formItem.val(); }else if(formItem[0].type=="textarea"){//根据表单的类型进行取值 itemValue = formItem[0].value; } if( obj.required && itemValue.length==0 ){ msg = objName + "不能为空" ; m(msg);formItem.focus(); return false; } if( !isNaN(parseInt(obj.maxL)) && itemValue.length>0 && itemValue.length > parseInt(obj.maxL) ){ msg = objName + "长度不能超过" + parseInt(obj.maxL); m(msg);formItem.focus(); return false; } if( !isNaN(parseInt(obj.minL)) && itemValue.length>0 && itemValue.length < parseInt(obj.minL) ){ msg = objName + "长度不能小于" + parseInt(obj.minL); m(msg);formItem.focus(); return false; } if( obj.p != "" && itemValue.length>0 ){ switch( obj.p ){ case "mail": if( ! /^[a-zA-Z0-9_+.-]+\@([a-zA-Z0-9-]+\.)+[a-zA-Z0-9]{2,4}$/.test( itemValue ) ){ msg = objName + "格式错误,请输入E-Mail地址"; m(msg);formItem.focus(); return false; } break; case "number": if( ! /^\d+$/.test( itemValue ) ){ msg = objName + "格式错误,请输入数字"; m(msg);formItem.focus(); return false; } break; case "phone": if( ! /((\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$)/.test( itemValue ) ){ msg = objName + "格式错误,请输入电话号码"; m(msg);formItem.focus(); return false; } break;  case "Chinese": if( ! /[^\x00-\xff]*/.test( itemValue ) ){ msg = objName + "格式错误,请输入汉字"; m(msg);formItem.focus(); return false; } break; default: //if( /\/.*\//.test(obj.p) ){ var userPar = new RegExp(obj.p); if( !userPar.test( itemValue ) ){ msg = objName + "格式错误,请重新输入"; m(msg);formItem.focus(); return false; } //} break; } } } return true; } }; /** FjdzPage 返回WCM分页的html代码 使用方法如下: var _args = { recordCount : ,//记录总数;默认值0 ; pageCount : 10,//页码总数;默认值1 ${PAGE_COUNT} pageIndex : 1 ,//当前页面;默认值1 ${PAGE_INDEX}+1 ,prepage: 10 ,//每页条数,如果未传入页数,则需要进行计算 pageName : "index",//页面文件名;默认值index ${PAGE_NAME} pageExt : "htm" ,//页面后缀;默认值htm ${PAGE_EXT} pageNumLength:3 , //生成数字页面当前页码前后的长度,值为0时表示不显示数字页码 pageInfo: "共有#recordCount#条信息 共#pageCount#页 当前第#pageIndex#页", pageInfoNoData:"没有数据", //记录条数为0时的显示方式 toPageType: 0 ,//0表示不显示 1表示输入框 2表示下拉框 showFirst : 1 ,//0表示不显示首页、上一页 firstHtml : ["|<","<",">",">|"] // } $("#pagebar").html( FjdzPage.init( _args ).cWcmHtml ); */ var FjdzPage = { init: function(o) { var page = {}; var args = o; page.cWcmHtml = function() { var rn = args.recordCount || 0, n = args.pageCount || 1, i = args.pageIndex || 1, name = args.pageName || "index", ext = args.pageExt || "htm"; var num = args.pageNumLength || 3, sHtmlNum = "", //页码文本 sHtmlDesc = args.pageInfo || "共有#recordCount#条信息 共#pageCount#页 当前第#pageIndex#页", //描述文本 sHtmlDescNoData = args.pageInfoNoData || "没有找到任何信息", sHtmlGo = "", //下拉或输入文本 type = args.toPageType || 0, showFirst = args.showFirst || 0, firstHtml = args.firstHtml || ["首页", "上一页", "下一页", "尾页"], style = args.style || "0", pageBarId = args.pageBarId || "pageBar"; if (rn > 0) { //sHtmlDesc = "共有" + rn + "条信息 共" + n + "页 当前第" + i + "页"; sHtmlDesc = sHtmlDesc.replace("#recordCount#", rn).replace("#pageCount#", n).replace("#pageIndex#", i); } else { return sHtmlDescNoData; } if (n <= 1) { return sHtmlDesc; } if (showFirst != 0) { //生成首页、上一页 、1 if (i == 1) { sHtmlNum += "" + firstHtml[0] + ""; sHtmlNum += "" + firstHtml[1] + ""; //sHtmlNum += "1"; } else if (i == 2) { sHtmlNum += "" + firstHtml[0] + ""; sHtmlNum += "" + firstHtml[1] + ""; //sHtmlNum += "1"; } else { sHtmlNum += "" + firstHtml[0] + ""; sHtmlNum += "" + firstHtml[1] + ""; } } if (num > 0) { //以下进行计算,对长度不足的在另外一段补齐,如设置当前页码前后各显示3页,但是如果处于第2页时,前面只有1页,这个时候在后面多补2个页码 var b = i - num, e = i + num, n_b = 0, n_e = 0; for (k = b; k <= e; k++) { if (k < 1) { n_e++; } else if (k > n) { n_b++; } } if (n_e > 0) e = e + n_e; if (n_b > 0) b = b - n_b; //计算结束 for (k = b; k <= e; k++) { if (k == i) { sHtmlNum += "" + k + ""; } else if (k == 1) { sHtmlNum += "" + k + ""; } else if (k > 1 && k < n + 1) { sHtmlNum += "" + k + ""; } } } if (showFirst != 0) { if (i == n) { sHtmlNum += "" + firstHtml[2] + ""; sHtmlNum += "" + firstHtml[3] + ""; } else { sHtmlNum += "" + firstHtml[2] + ""; sHtmlNum += "" + firstHtml[3] + ""; } } if (type == 1) { //显示输入框 sHtmlGo = "跳转到第 57 ) event.returnValue = false;\" value=\"" + i + "\" \/>页"; window.toPage = page.toWcmPage; } else if (type == 2) { //显示下拉框 sHtmlGo = " 57 ) event.returnValue = false;\" value=\"" + i + "\" \/>页"; } else if (type == 2) { //显示下拉框 sHtmlGo = "