经常做前端界面,总结了部分常用的js代码段进行了简单的封装,没有什么技术含量的代码段,各位大牛勿喷~
很简单的一个javascript对象方法封装,将常用的几个方法集成到了J或JJ命名空间下,全局可调用,例如需要判定用户输入的qq号码是否合法,直接如下代码即可:
var UsrInputQQString; UsrInputQQString = $(selector).val(); if(J.isQQ(UsrInputQQString)) { alert('您输入的QQ号码合乎规范'); }else { alert('请输入正确的QQ号码'); }
========
该文件会不定期更新,请以js文件内容为准;此文中的代码段不再更新!
*@ 封装的J命名空间下的可用方法列表 @
* 产生随机整数方法 => J.rand([min],[max]);
* 产生随机字符串[去除易混淆的0、1、I、l、L、O、o] => J.randString([length])
* 去除字符串中所有空白 => J.trimAll(str);
* 检测传入的字符串是否是邮箱格式 => J.isMail(str)
* 检测传入的字符、数字字符串是否是手机格式 =>J.isPhone(num)
* 检测传入的字符串是否是中文 => J.isChinese(str)
* 检测传入的字符串是否是正整数 => J.isNumber(num)
* 检测传入的字符串是否是QQ号码 => J.isQQ(qq)
* 检测传入的字符串是否是合法网址 => J.isUrl(url)
* 检测传入的字符串是否是合法密码格式 => J.isPassWord(pwd)
* 检测传入的字符串是否是全部由字母构成 => J.isAlphabet(Alphabets)
* 获取当前url中的get变量名为getName的get变量 => J.GetUrlQueryString(getName)
* 检测传入的字符串是否是合法的天朝身份证号码[严格效验] => J.isID(CardNumber) 或 J.isCardNumber(CardNumber)
* cookie操纵函数方法,类似jquery.cookie => J.cookie(key,[value],[{expires: 365, path: '/', domain: 'jjonline.cn',secure: false}])
* 本地相对永久存储文本数据[<=ie7使用userData,建议文本大小不要大于64K、其他使用localStorage] =>J.localData(key,[value])
* 将对象字符串[需符合对象字符串的格式要求]转换成对象方法 => J.toObject(objectString)
* 将对象[object of json 、object of array]转换成字符串方法 => J.toString(object)
* 获取当前窗口的宽高,返回对象 => J.windowSize()
========
代码段如下,或者也可以点击这里直接下载js文件【该文件可以直接引用,后续为J命名空间添加新方法后名称不会变动;最近更新:2014-2-28 version:1.1.2 dev】。
/** +---------------------------------------------------------- * * @authors: Jea Yang (JJonline@JJonline.Cn) * @CopyRights: Any source code changes without permission prohibited * @Time: 2014-02-12 13:45:16 * @Description: Jlib.js === jjonline javascript libaray * @version 1.0 dev * *@ Api * 产生随机整数方法 => J.rand([min],[max]); * 产生随机字符串[去除易混淆的0、1、I、l、L、O、o] => J.randString([length]) * 去除字符串中所有空白 => J.trimAll(str); * 检测传入的字符串是否是邮箱格式 => J.isMail(str) * 检测传入的字符、数字字符串是否是手机格式 =>J.isPhone(num) * 检测传入的字符串是否是中文 => J.isChinese(str) * 检测传入的字符串是否是正整数 => J.isNumber(num) * 检测传入的字符串是否是QQ号码 => J.isQQ(qq) * 检测传入的字符串是否是合法网址 => J.isUrl(url) * 检测传入的字符串是否是合法密码格式 => J.isPassWord(pwd) * 检测传入的字符串是否是全部由字母构成 => J.isAlphabet(Alphabets) * 传入当前页面的url中的get变量名称获取当前url中的get变量 => J.GetUrlQueryString(getName) * 获取当前窗口的宽高,返回对象 => J.windowSize() +---------------------------------------------------------- */ (function(window, undefined) { var _version = '1.0.0 beta',//Jlib版本号 J = {};//初始化J命名空间 /*===获取Jlib.js的版本号===*/ J.version = _version; J.getVersion=function() { return _version; }; /*===产生随机整数方法===*/ J.rand = function(min,max) { var params = { min: min || 0, max: max || 9999999 }; var Range = params.max - params.min; var Rand = Math.random(); return (params.min + Math.round(Rand * Range)); }; /*===产生随机字符串[去除易混淆的0、1、I、l、L、O、o]===*/ J.randString=function(length) { var lens = length || 16; var chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'; var maxPos = chars.length; var strings = ''; for (i = 0; i < lens; i++) { strings += chars.charAt(Math.floor(Math.random() * maxPos)); } return strings; }; /*===去除字符串中所有空白===*/ J.trimAll=function(strings) { if (!strings) { return false; } return strings.replace(/<\/?[^>]*>/gim, ""); }; /*===检测传入的字符串是否是邮箱格式===*/ J.isMail=function(match) { if (!match) { return false; } var mail = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/; if (mail.test(match)) { var maiarr = match.split(/@/); var mailobj = { //返回用户名与域名部分组成的数组 boolean判断时为真 'name': maiarr[0], 'domain': maiarr[1] }; return mailobj; } return false; }; /*===检测传入的字符、数字字符串是否是手机格式===*/ J.isPhone=function(match) { if (!match) { return false; } var phone = /^(13[0-9]|14[0-9]|15[0-9]|18[0-9])\d{8}$/; if (phone.test(match)) { return true; } return false; }; /*===检测传入的字符串是否是中文--utf8编码===*/ J.isChinese=function(match) { var zhcn = /[^\u4e00-\u9fa5]/; if (!zhcn.test(match)) { return true; } return false; }; /*===检测传入的字符串是否是纯数字===*/ J.isNumber=function(match) { var num = /^[1-9]+[0-9]*]*$/ ;//合法的数学数字不能以0开头 if (num.test(match)) { return true; } return false; }; /*===检测传入的字符串是否是QQ号码===*/ J.isQQ=function(match) { var QQ = /^[1-9]\d{3,9}\d$/; if (QQ.test(match)) { return true; } return false; }; /*===检测传入的字符串是否是合法网址===*/ J.isUrl=function(match) { var Url = /^(http)s*:\/\/\w+\.\w+\.\w+(\/\w+)*/; if (Url.test(match)) { return true; } return false; }; /*===检测传入的字符串是否是合法密码格式===*/ J.isPassWord=function(match) { //该种检测方式仅检测传入的字符串即包含字母也包含数组的形式 var pcre = /[A-Za-z]+/, num = /\d+/; if (pcre.test(match)) { if (num.test(match)) { return true; } return false; } return false; }; /*===检测传入的字符串是否是全部由字母构成===*/ J.isAlphabet=function(match) { var pcre = /^[A-Za-z]+$/; if (pcre.test(match)) { return true; } return false; }; /*===获取当前url中的get变量,传入get变量名称===*/ J.GetUrlQueryString=function(key) { var reg = new RegExp("(^|&)" + key + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return null; }; /*===获取当前窗口的宽高 返回对象===*/ J.windowSize=function() { var winWidth, winHeight; if (window.innerWidth) winWidth = window.innerWidth; else if ((document.body) && (document.body.clientWidth)) winWidth = document.body.clientWidth; if (window.innerHeight) winHeight = window.innerHeight; else if ((document.body) && (document.body.clientHeight)) winHeight = document.body.clientHeight; if (document.documentElement && document.documentElement.clientHeight && document.documentElement.clientWidth) { winHeight = document.documentElement.clientHeight; winWidth = document.documentElement.clientWidth; } return { 'width': winWidth, 'w': winWidth, 'height': winHeight, 'h': winHeight }; }; //将J命名空间传递到全局对象 window.J = window.JJ = J; })(window);
请问楼主 这种形式的js工具文件 使用JSDoc工具生成文档失败怎么解决?