
经常做前端界面,总结了部分常用的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工具生成文档失败怎么解决?