jQuery.extend({ isEmail: function(str) { return /^(?:\w+\.?)*\w+@(?:\w+\.)+\w+$/.test($.trim(str)); }, isIDCard: function(obj) { var aCity = {11: "北京", 12: "天津", 13: "河北", 14: "山西", 15: "内蒙古", 21: "辽宁", 22: "吉林", 23: "黑龙 江", 31: "上海", 32: "江苏", 33: "浙江", 34: "安徽", 35: "福建", 36: "江西", 37: "山东", 41: "河南", 42: "湖 北", 43: "湖南", 44: "广东", 45: "广西", 46: "海南", 50: "重庆", 51: "四川", 52: "贵州", 53: "云南", 54: "西 藏", 61: "陕西", 62: "甘肃", 63: "青海", 64: "宁夏", 65: "新疆", 71: "台湾", 81: "香港", 82: "澳门", 91: "国 外"}; var iSum = 0; //var info = ""; var strIDno = obj; var idCardLength = strIDno.length; if (!/^\d{17}(\d|x)$/i.test(strIDno) && !/^\d{15}$/i.test(strIDno)) return false; //非法身份证号 if (aCity[parseInt(strIDno.substr(0, 2))] == null) return false;// 非法地区 // 15位身份证转换为18位 if (idCardLength == 15) { sBirthday = "19" + strIDno.substr(6, 2) + "-" + Number(strIDno.substr(8, 2)) + "-" + Number(strIDno.substr(10, 2)); var d = new Date(sBirthday.replace(/-/g, "/")) var dd = d.getFullYear().toString() + "-" + (d.getMonth() + 1) + "-" + d.getDate(); if (sBirthday != dd) return false; //非法生日 strIDno = strIDno.substring(0, 6) + "19" + strIDno.substring(6, 15); strIDno = strIDno + GetVerifyBit(strIDno); } // 判断是否大于2078年,小于1900年 var year = strIDno.substring(6, 10); if (year < 1900 || year > 2078) return false;//非法生日 //18位身份证处理 //在后面的运算中x相当于数字10,所以转换成a strIDno = strIDno.replace(/x$/i, "a"); sBirthday = strIDno.substr(6, 4) + "-" + Number(strIDno.substr(10, 2)) + "-" + Number(strIDno.substr(12, 2)); var d = new Date(sBirthday.replace(/-/g, "/")) if (sBirthday != (d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate())) return false; //非法生日 // 身份证编码规范验证 for (var i = 17; i >= 0; i --) iSum += (Math.pow(2, i) % 11) * parseInt(strIDno.charAt(17 - i), 11); if (iSum % 11 != 1) return false;// 非法身份证号 // 判断是否屏蔽身份证 var words = new Array(); words = new Array("11111119111111111", "12121219121212121"); for (var k = 0; k < words.length; k++) { if (strIDno.indexOf(words[k]) != -1) { return false; } } return true; }, isUrl: function(str) { return /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/.test($.trim(str)); }, isInt: function(str) { return /^[-\+]?\d+$/.test($.trim(str)); }, isUserID: function(str) { return /^\s*[A-Za-z0-9_-]{6,20}\s*$/.test($.trim(str)); }, isMobile: function(str) { return $.trim(str) !== '' && /^1[3|4|5|7|8|9][0-9]\d{8}$/.test($.trim(str)); }, isChinese: function(str) { return $.trim(str) != '' & !/[^\u4e00-\u9fa5]/.test($.trim(str)); }, isEnglish:function(str){ return $.trim(str) != '' & !/[^a-zA-Z]/.test($.trim(str)); }, isPassword: function(str) { return /^[^\u4e00-\u9fa5\s]{6,20}$/.test($.trim(str)); }, isFloat: function(str) { return /^(\+|-)?\d+($|\.\d+$)/.test($.trim(str)); }, isNumber: function(str) { return !$.isEmpty(str) && !isNaN(str); }, isIP: function(str) { if (/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/.test($.trim(str))) { if (RegExp.$1 < 256 && RegExp.$2 < 256 && RegExp.$3 < 256 && RegExp.$4 < 256) return true; } return false; }, isDate: function(str) { var r = $.trim(str).split("-"); if (r == null) return false; var d = new Date(r[0], r[1] - 1, r[2]); return (d.getFullYear() == r[0] && (d.getMonth() + 1) == r[1] && d.getDate() == r[2]); }, htmlEncode: function(str) { str = str.replace(/&/g, '&'); str = str.replace(//g, '>'); str = str.replace(/(?:\t| |\v|\r)*\n/g, '
'); str = str.replace(/ /g, '  '); str = str.replace(/\t/g, '    '); str = str.replace(/\x22/g, '"'); str = str.replace(/\x27/g, '''); return $.trim(str); }, htmlDecode: function(str) { str = str.replace(/&/gi, '&'); str = str.replace(/ /gi, ' '); str = str.replace(/"/gi, '"'); str = str.replace(/'/g, "'"); str = str.replace(/</gi, '<'); str = str.replace(/>/gi, '>'); str = str.replace(/]*>(?:(\r\n)|\r|\n)?/gi, '\n'); return $.trim(str); }, preview: function(str) { var testwin = open(""); testwin.document.open(); testwin.document.write(str); testwin.document.close(); }, isEmpty: function(str) { return $.trim(str) == '' || str == undefined }, arrayIndexOf: function(arr, substr, start) { var ta, rt, d = '\0'; if (start != null) { ta = arr.slice(start); rt = start; } else { ta = arr; rt = 0; } var str = d + ta.join(d) + d, t = str.indexOf(d + substr + d); if (t == -1) return -1; rt += str.slice(0, t).replace(/[^\0]/g, '').length; return rt; }, arrayLastIndexOf: function(arr, substr, start) { var ta, rt, d = '\0'; if (start != null) { ta = arr.slice(start); rt = start; } else { ta = arr; rt = 0; } ta = ta.reverse(); var str = d + ta.join(d) + d, t = str.indexOf(d + substr + d); if (t == -1) return -1; rt += str.slice(t).replace(/[^\0]/g, '').length - 2; return rt; }, arrayReplace: function(arr, reg, rpby) { var ta = arr.slice(0), d = '\0'; var str = ta.join(d); str = str.replace(reg, rpby); return str.split(d); }, arraySearch: function(arr, reg) { var ta = arr.slice(0), d = '\0', str = d + ta.join(d) + d, regstr = reg.toString(); reg = new RegExp(regstr.replace(/\/((.|\n)+)\/.*/g, '\\0$1\\0'), regstr.slice(regstr.lastIndexOf('/') + 1)); t = str.search(reg); if (t == -1) return -1; return str.slice(0, t).replace(/[^\0]/g, '').length; }, nullundefined: function(str) { }, setClipboard: function(maintext) { if (window.clipboardData) { window.clipboardData.setData("Text", maintext); alert("复制成功!"); } else if (window.netscape) { try { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); } catch (e) { alert("被浏览器拒绝!\n请在浏览器地址栏输入'about:config'并回车\n然后将 'signed.applets.codebase_principal_support'设置为'true'"); return; } var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard); if (!clip) return; var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable); if (!trans) return; trans.addDataFlavor('text/unicode'); var str = new Object(); var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString); var copytext = txt; str.data = copytext; trans.setTransferData("text/unicode", str, copytext.length * 2); var clipid = Components.interfaces.nsIClipboard; if (!clip) return false; clip.setData(trans, null, clipid.kGlobalClipboard); alert("复制成功!") } } }); (function($) { $.fn.isInt = function() { return $.isInt($(this).val()); } })(jQuery); (function($) { $.fn.isIDCard = function() { return $.isIDCard($(this).val()); } })(jQuery); (function($) { $.fn.isEnglish = function() { return $.isEnglish($(this).val()); } })(jQuery); (function($) { $.fn.isEmail = function() { return $.isEmail($(this).val()); } })(jQuery); (function($) { $.fn.isDate = function() { return $.isDate($(this).val()); } })(jQuery); (function($) { $.fn.isIP = function() { return $.isIP($(this).val()); } })(jQuery); (function($) { $.fn.isChinese = function() { return $.isChinese($(this).val()); } })(jQuery); (function($) { $.fn.isEmpty = function() { return $.isEmpty($(this).val()); } })(jQuery); (function($) { $.fn.isUrl = function() { return $.isUrl($(this).val()); } })(jQuery); (function($) { $.fn.isFloat = function() { return $.isFloat($(this).val()); } })(jQuery); (function($) { $.fn.isNumber = function() { return $.isNumber($(this).val()); } })(jQuery); (function($) { $.fn.isUserID = function() { return $.isUserID($(this).val()); } })(jQuery); (function($) { $.fn.isPassword = function() { return $.isPassword($(this).val()); } })(jQuery); (function($) { $.fn.isMobile = function() { return $.isMobile($(this).val()); } })(jQuery); (function($) { $.fn.len = function() { return $(this).val().length; } })(jQuery); (function($) { $.fn.checked = function() { return $(this).get(0).checked(); } })(jQuery); (function($){ $.fn.resizeImage = function(iwidth,iheight){ var w = $(this).width() ; var h = $(this).height() ; var _img = new Image(); _img.src = $(this).attr("src"); if(_img.width > _img.height) { h = (_img.height / _img.width) *w; w = (_img.width > iwidth) ? iwidth : _img.width; } else if(_img.width < _img.height) { w= (_img.width / _img.height) * h ; h= (_img.height > iheight) ? iheight : _img.height; } else { h = (_img.height > iheight) ? iheight : _img.height; w= (_img.width > iwidth) ? iwidth : _img.width; } $(this).css({width: w+ "px",height:h+"px"}); } })(jQuery); (function($) { $.fn.breakWords = function(width) { var _this = $(this); var content = _this.html(); if (content == undefined) { return; } if (content.length <= width) { _this.html(content); } else { var str = ''; for (var i = 0; i < content.length; i++) { if (i % width != 0) { str += content.substr(i, 1); } else { if (i != 0) { str += "
" + content.substr(i, 1); } } } _this.html(str); } } })(jQuery); (function($) { $.fn.limitWidth = function() { var _this = $(this); var elments = _this.getElementsByTagName("*"); for (var i = 0; i < elments.length; i++) { if (parseInt(elments[i].getAttribute("width")) > width) { elments[i].setAttribute("width", width - 1); } if (elments[i].style.width) { if (parseInt(elments[i].style.width) > width) { elments[i].style.width = width - 1; } } } return _this; } })(jQuery); (function($) { $.fn.limitLength = function(num, inputID,isInput) { var textarea = $(this); var input = null; if (inputID) { input = $("#" + inputID); } if (input) { isInput?input.val(num - textarea.len()):input.html(num - textarea.len()); } function limit(textarea, num) { if (textarea.len() >= num) { textarea.val(textarea.val().substring(0, num)); } else { if (input) { isInput?input.val(num - textarea.len()):input.html(num - textarea.len()); } } } textarea.keypress(function(e) { limit($(this), num); }).keyup(function(e) { limit($(this), num); }).mouseup(function(e) { limit($(this), num); }); return textarea; } })(jQuery); (function($) { $.fn.nulldefined = function() { } })(jQuery); var GC = { addFavorite: function(url, text) //收藏夹 { if (document.all) { window.external.addFavorite(url, text); } else if (window.sidebar) { window.sidebar.addPanel(text, url, ""); } }, holder: function(objid){ var _this = $("#" + objid); var placeholder = _this.attr("holder"); if($.trim(_this.val())==""){ _this.addClass("placeholder"); _this.val(placeholder); } _this.focus(function(){ if($.trim(_this.val())==placeholder){ _this.removeClass("placeholder"); _this.val(""); } }).blur(function(){ if($.trim(_this.val())==""){ _this.addClass("placeholder"); _this.val(placeholder); } }); }, setHomePage: function(obj, vrl) //首页 { if (confirm('确认要将' + vrl + '设置为首页?')) { try { obj.style.behavior = 'url(#default#homepage)'; obj.setHomePage(vrl); } catch (e) { if (window.netscape) { try { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); } catch (e) { alert("此操作被浏览器拒绝!\n请在浏览器地址栏填写“about:config”并回车\n然后将[signed.applets.codebase_principal_support]设置为'true'"); } var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch); prefs.setCharPref('browser.startup.homepage', vrl); } } } }, undefined: function(variable) { return typeof variable == 'undefined' ? true : false; }, form: function(formid) { if (formid == null || formid == undefined) { return document.forms[0]; } else { return document.forms[formid]; } }, openWindow : function(url){ var a = document.createElement("a"); a.setAttribute("href", url); a.setAttribute("target", "_blank"); a.setAttribute("id", "openwin"); document.body.appendChild(a); a.click(); }, getElementsByName: function(name) { var ret = []; var elements = document.getElementsByTagName("input"); for (var i = 0; i < elements.length; i++) { if (elements[i].name == name) { ret.push(elements[i]); } } return ret; }, checkAll: function(ischecked, formid) { if (formid) { $("#" + formid + " input[type='checkbox']").attr("checked", ischecked); } else { $("input[type='checkbox']").attr("checked", ischecked); } }, selectedCount: function(formid) { var chks = null; var n = 0; if (formid) { chks = $("#" + formid + " input[type='checkbox']"); } else { chks = $("input[type='checkbox']"); } chks.each(function() { if ($(this).get(0).checked) { n++; } }); return n; }, selecteds: function(formid) { var ids = ""; var chks = null; if (formid) { chks = $("#" + formid + " input[type='checkbox']"); } else { chks = $("input[type='checkbox']"); } chks.each(function() { if ($(this).get(0).checked) { if (ids != "") { ids += ","; } ids += $(this).val(); } }); return ids; }, allids: function(formid) { var ids = ""; var chks = null; if (formid) { chks = $("#" + formid + " input[type='checkbox']"); } else { chks = $("input[type='checkbox']"); } chks.each(function() { if (ids != "") { ids += ","; } ids += $(this).val(); }); return ids; }, uncheckAll: function(formid) { if (formid) { $("#" + formid + " input[type='checkbox']").attr("checked", false); } else { $("input[type='checkbox']").attr("checked", false); } } } ; (function($) { $.fn.extend({ "placeholder": function(options) { options = $.extend({ placeholderColor: '#aaa', isUseSpan: true, //是否使用插入span标签模拟placeholder的方式,默认false,默认使用value模拟 onInput: true //使用标签模拟(isUseSpan为true)时,是否绑定onInput事件取代focus/blur事件 }, options); $(this).each(function() { var _this = this; var supportPlaceholder = 'placeholder' in document.createElement('input'); if (!supportPlaceholder) { var defaultValue = $(_this).attr('placeholder'); if (!defaultValue) { return; } var defaultColor = $(_this).css('color'); if (!options.isUseSpan) { $(_this).focus(function() { var pattern = new RegExp("^" + defaultValue + "$|^$"); pattern.test($(_this).val()) && $(_this).val('').css('color', defaultColor); }).blur(function() { if ($(_this).val() == defaultValue) { $(_this).css('color', defaultColor); } else if ($(_this).val().length == 0) { $(_this).val(defaultValue).css('color', options.placeholderColor) } }).trigger('blur'); } else { var $imitate = $('' + defaultValue + ''); $imitate.css({ 'margin-left': $(_this).css('margin-left'), 'margin-top': $(_this).css('margin-top'), 'font-size': $(_this).css('font-size'), 'font-family': $(_this).css('font-family'), 'font-weight': $(_this).css('font-weight'), 'padding-left': parseInt($(_this).css('padding-left')) + 2 + 'px', 'line-height': _this.nodeName.toLowerCase() == 'textarea' ? $(_this).css('line-weight') : $(_this).outerHeight() + 'px', 'padding-top': _this.nodeName.toLowerCase() == 'textarea' ? parseInt($(_this).css('padding-top')) + 2 : 0, "left":$(_this).position().left + "px", "top":$(_this).position().top + "px" }); $(_this).before($imitate.click(function() { $(_this).trigger('focus'); })); $(_this).val().length != 0 && $imitate.hide(); if (!options.onInput) { //绑定oninput/onpropertychange事件 var inputChangeEvent = typeof(_this.oninput) == 'object' ? 'input' : 'propertychange'; $(_this).bind(inputChangeEvent, function() { $imitate[0].style.display = $(_this).val().length != 0 ? 'none' : 'inline-block'; }); } else { $(_this).focus(function() { $imitate.hide(); }).blur(function() { /^$/.test($(_this).val()) && $imitate.show(); }); } } } }); return this; } }); })(jQuery); (function($) { $.fn.extend({ "initSelect": function(options) { options = $.extend({ debug: false, maxlength:10 }, options); $(this).each(function() { var _input =$(this); var _div = $("#" + $(this).attr("id") + "_div"); var _ul = $("#" + $(this).attr("id") + "_ul"); _div.mouseenter(function(){ _ul.show(); }).mouseleave(function(){ _ul.hide(); }); var txt = ""; var val = _input.val(); $("li",_ul).each(function(){ var item = $(this); if(item.attr("val")==val){ $("span",$(".selected",_div)).html( item.attr("text").substr(0,options.maxlength)); } if( item.attr("haschild")=="true"){ var _cul = $("#" + _input.attr("id") + "_" + item.attr("val")+"_ul"); item.mouseenter(function(){ _cul.show(); }).mouseleave(function(){ _cul.hide(); }); } }).click(function(ev){ var txt1 = $(this).attr("text"); var val1 = $(this).attr("val"); $("ul",_div).hide(); _input.val( val1 ); $("span",$(".selected",_div)).html(txt1.substr(0,options.maxlength)); ev.stopPropagation(); });; }); return this; } }); })(jQuery);