您的位置:晶晶的博客>前端>Js基础性工具代码简单封装

Js基础性工具代码简单封装

点击查看原图

经常做前端界面,总结了部分常用的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基础性工具代码简单封装

相关推荐

哟嚯,本文评论功能关闭啦~

  1. #1

    请问楼主 这种形式的js工具文件 使用JSDoc工具生成文档失败怎么解决?

    吐槽星人 5年前 (2019-09-18) 回复