JavaScript封装的常用工具类库bee.js用法详解【经典类库】


Posted in Javascript onSeptember 03, 2018

本文实例讲述了JavaScript封装的常用工具类库bee.js。分享给大家供大家参考,具体如下:

bee.js下载地址:

github下载地址:https://github.com/shadowOfCode/bee.js

或点击此处本站下载

使用:

<!--area.js存放区域编码的一个常量。由于bee.js里面的getPersonInfo18()方法需要调用这个常量,所以在bee.js之前引入。如果不需要用到这个方法也可以不引入area.js-->
<script type="text/javascript" src="js/area.js" ></script>
<script type="text/javascript" src="js/bee.js" ></script>

该javaScript库主要包括了如下模块:

1、手机号码校验;

//电话号码
isPhoneCallNum: function(input)
//电信手机号码
isChinaTelecomPhoneNum: function(input)
//中国联通
isChinaUnicomPhoneNum: function(input)
//中国移动
isChinaMobilePhoneNum: function(input)
//手机号码
isPhoneNum: function(input)
//手机号码简单校验,只校验长度 
isPhoneNumBySize: function(input)

2、身份证校验;

//18位身份证简单校验
isSimpleIdCard18: function(idCard)
//15位身份证简单校验
isSimpleIdCard15: function(idCard)
//18位身份证校验码校验
checkCode: function(idCard)
//18位身份证严格校验
isIdCard18: function(idCard)
//根据18身份证号码获取人员信息 
getPersonInfo18:function(idCard)
//Demo
Bee.IdCardUtils.getPersonInfo18('350624199506094038');
//结果
{
  address: "福建省 漳州市 诏安县",
  sex: "男",
  birthday: "1995年06月09日",
  age: 23
}

3、邮箱校验;

//邮箱校验 
isEmail: function(input)

4、字符串常用类;

//空字符串
isEmpty: function(input)
//不是空字符串
isNotEmpty: function(input)
//空字符串,可为空格
isBlank: function(input)
//不是空字符串,空格也算空字符串
isNotBlank: function(input)
//去掉字符串两边的空格
trim: function(input)
//若为null则转为”
trimToEmpty: function(input)
//以某个字符串开头
startsWith: function(input, prefix)
//以某个字符串结尾
endsWith: function(input, suffix)
//包含某个子串
contains: function(input, searchSeq)
//判断字符串是否相等
equals: function(input1, input2)
//判断字符串是否相等,不区分大小写
equalsIgnoreCase: function(input1, input2)
//是否包含空白字符
containsWhitespace: function(input)
//生成指定个数的字符
repeat: function(ch, repeatTimes)
//删除空白字符
deleteWhitespace: function(input)
//右侧补全
ightPad: function(input, size, padStr)
//左侧补全
leftPad: function(input, size, padStr)
//首小写字母转大写
capitalize: function(input)
//首大写字母转小写
uncapitalize: function(input)
//大写转小写,小写转大写
swapCase: function(input)
//统计含有的子字符串的个数
countMatches: function(input, sub)
//只包含字母
isAlpha: function(input)
//只包含字母、空格
isAlphaSpace: function(input)
//只包含字母、数字
isAlphanumeric: function(input)
//只包含字母、数字和空格 
isAlphanumericSpace: function(input)
//数字
isNumeric: function(input)
//小数
isDecimal: function(input)
//负小数
isNegativeDecimal: function(input)
//正小数
isPositiveDecimal: function(input)
//整数
isInteger: function(input)
//正整数
isPositiveInteger: function(input)
//负整数 
isNegativeInteger: function(input)
//只包含数字和空格
isNumericSpace: function(input)
//是否为空白字符
sWhitespace: function(input)
//是否全为小写字母
isAllLowerCase: function(input)
//是否全为大写字母
sAllUpperCase: function(input)
//字符串为空时,默认值
defaultString: function(input, defaultStr)
//字符串为空时,默认值
defaultIfBlank: function(input, defaultStr)
//字符串为空时,默认值
defaultIfEmpty: function(input, defaultStr)
//字符串反转
reverse: function(input)
//删掉特殊字符(英文状态下)
removeSpecialCharacter: function(input)
//只包含特殊字符、数字和字母(不包括空格,若想包括空格,改为[ -~])
isSpecialCharacterAlphanumeric: function(input)
/** 
* @param {String} message 
* @param {Array} arr 
* 消息格式化 
*/ 
format: function(message, arr)
//demo
var message='我是{0}开发{1}';
var arr=['java','工程师'];
Bee.StringUtils.format(message,arr);

//结果
我是java开发工程师
/** 
* 把连续出现多次的字母字符串进行压缩。如输入:aaabbbbcccccd 输出:3a4b5cd 
* @param {String} input 
* @param {Boolean} ignoreCase : true or false 
*/ 
compressRepeatedStr: function(input, ignoreCase)
//中文校验
isChinese: function(input)
//去掉中文字符
removeChinese: function(input)
//转义元字符
escapeMetacharacter: function(input)
//转义字符串中的元字符
escapeMetacharacterOfStr: function(input)
//中文转为unicode编码 
chineseToUnicode: function(input)

5、简单四则运算;

//加法 
add: function(operandLeft, operandRight)
//减法
subtract: function(operandLeft, operandRight)
//乘法
multiply: function(operandLeft, operandRight)
//除法
divide: function(operandLeft, operandRight)
//校验表达式的合法性
isArithmeticExpression: function(expression)
//计算
calculate: function(expression)
//中缀表达式转后缀表达式
infixToPostfixExpression: function(expression)
//demo
var expression='(2+9)*8-24';
Bee.ElementaryArithmeticUtils.infixToPostfixExpression(expression);

//结果
2 9 + 8 * 24 -
//中缀表达式转前缀表达式(结果以空格隔开) 
infixToPrefixExpression: function(expression)

//demo
var expression='(2+9)*8-24';
Bee.ElementaryArithmeticUtils.infixToPrefixExpression(expression);

//结果
- * + 2 9 8 24
//解决正负号问题-1转为0-1;+1转为0+1
eliminatePositiveOrNegativeSign: function(expression)
//把中缀表达式转为前缀表达式,再计算
calculateByPrefixExpression: function(expression)
//demo
var expression='(2+9)*8-24';
Bee.ElementaryArithmeticUtils.calculateByPrefixExpression(expression);

//结果
["64"]
//把中缀表达式转为后缀表达式,再计算 
calculateByPostfixExpression: function(expression)
//demo
var expression='(2+9)*8-24';
Bee.ElementaryArithmeticUtils.calculateByPostfixExpression(expression);

//结果
["64"]
//横式计算 
horizontalCalculation: function(expression)
var expression='1+2*(4-3)/5*[(7-6)/8*9]';
Bee.ElementaryArithmeticUtils.horizontalCalculation(expression);

//结果
1+2*(4-3)/5*[(7-6)/8*9]=1+2*1/5*[1/8*9]=1+2*1/5*1.125=1+2/5*1.125=1+0.4*1.125=1+0.45=1.45
//竖式计算 
verticalCalculation: function(expression)
var expression='1+2*(4-3)/5*[(7-6)/8*9]';
Bee.ElementaryArithmeticUtils.verticalCalculation(expression);

1+2*(4-3)/5*[(7-6)/8*9]
=1+2*1/5*[1/8*9]
=1+2*1/5*1.125
=1+2/5*1.125
=1+0.4*1.125
=1+0.45
=1.45

6、正则表达式生成工具类;

[ ] //生成正整数范围的表达式
positiveIntegerRange:function(minimum,maximum)

排除某些字符串,即不能包含某些字符串.返回值为RegExp对象

createRegexObjMustExclude:function(input, conditions)

参数说明

@param {Object} conditions:里面有多个属性,如下:
@param {String} matcherFlag 匹配标识
0:数字;
1:字母;
2:小写字母;
3:大写字母;
4:特殊字符,指英文状态下的标点符号及括号等;
5:中文;
6:数字和字母;
7:数字和小写字母;
8:数字和大写字母;
9:数字、字母和特殊字符;
10:数字和中文;
11:小写字母和特殊字符;
12:大写字母和特殊字符;
13:字母和特殊字符;
14:小写字母和中文;
15:大写字母和中文;
16:字母和中文;
17:特殊字符、和中文;
18:特殊字符、字母和中文;
19:特殊字符、小写字母和中文;
20:特殊字符、大写字母和中文;
100:所有字符;

@param {Array} targetStrArr 排除的字符串,数组格式
@param {String} length 长度,可为空。1,2表示长度1到2之间;10,表示10个以上字符;5表示长度为5
@param {Boolean} ignoreCase 是否忽略大小写

条件参数固定格式

 

conditions={matcherFlag:”0”,targetStrArr:[],length:”“,ignoreCase:true}
var conditions={matcherFlag:"0",targetStrArr:['12','00'],length:"10",ignoreCase:true}
Bee.RegexUtils.createRegexObjMustExclude("1234567009",conditions);
//生成的正则表达式
/^(?!.*(?:12|00))\d{10}$/i

校验时排除某些字符串,即不能包含某些字符串 
isPatternMustExclude: function(input, conditions)

//demo1,10位长度的数字,且不能包含12和00子串
var conditions={matcherFlag:"0",targetStrArr:['12','00'],length:"10",ignoreCase:true}
Bee.RegexUtils.isPatternMustExclude("1234567009",conditions);

//结果
false
//demo2,10位长度的数字,且不能包含120子串
var conditions={matcherFlag:"0",targetStrArr:['120'],length:"10",ignoreCase:true}
Bee.RegexUtils.isPatternMustExclude("1234567009",conditions);

//结果
true

必须同时包含某些字符串,返回值为RegExp对象

createRegexObjMustContain:function()
var conditions={matcherFlag:"0",targetStrArr:['120'],length:"10",ignoreCase:true}
Bee.RegexUtils.createRegexObjMustContain("1234567009",conditions);
/^(?=.*120)\d{10}$/i

校验必须同时包含某些字符串

isPatternMustContain: function(input, conditions)
//demo1
var conditions={matcherFlag:"0",targetStrArr:['120'],length:"10",ignoreCase:true}
Bee.RegexUtils.isPatternMustContain("1234567009",conditions);

false

//demo2
var conditions={matcherFlag:"0",targetStrArr:['12','00'],length:"10",ignoreCase:true}
Bee.RegexUtils.isPatternMustContain("1234567009",conditions);

true

更多关于JavaScript相关内容还可查看本站专题:《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
js Form.elements[i]的使用实例
Nov 13 Javascript
jquery上传插件fineuploader上传文件使用方法(jquery图片上传插件)
Dec 05 Javascript
JavaScript获取客户端IP的方法(新方法)
Mar 11 Javascript
Bootstrap每天必学之级联下拉菜单
Mar 27 Javascript
jQuery UI制作选项卡(tabs)
Dec 13 Javascript
ES6学习教程之Map的常用方法总结
Aug 03 Javascript
浅谈vue中改elementUI默认样式引发的static与assets的区别
Feb 03 Javascript
值得收藏的八个常用的js正则表达式
Oct 19 Javascript
一步一步实现Vue的响应式(对象观测)
Sep 02 Javascript
vue中的过滤器及其时间格式化问题
Apr 09 Javascript
Angular进行简单单元测试的实现方法实例
Aug 16 Javascript
夯基础之手撕javascript继承详解
Nov 09 Javascript
基于vue-router 多级路由redirect 重定向的问题
Sep 03 #Javascript
vue-cli 引入jQuery,Bootstrap,popper的方法
Sep 03 #jQuery
Vue-router的使用和出现空白页,路由对象属性详解
Sep 03 #Javascript
Vue 通过自定义指令回顾v-内置指令(小结)
Sep 03 #Javascript
JavaScript日期工具类DateUtils定义与用法示例
Sep 03 #Javascript
Angular5中状态管理的实现
Sep 03 #Javascript
JavaScript创建对象方法实例小结
Sep 03 #Javascript
You might like
php实现xml与json之间的相互转换功能实例
2016/07/07 PHP
JavaScript快速检测浏览器对CSS3特性的支持情况
2012/09/26 Javascript
使用Js让Html中特殊字符不被转义
2013/11/05 Javascript
jQuery.holdReady()方法用法实例
2014/12/27 Javascript
深入浅析AngularJS中的module(模块)
2016/01/04 Javascript
Vue数据驱动模拟实现4
2017/01/12 Javascript
javascript 封装Date日期类实例详解
2017/05/28 Javascript
关于Angular2 + node接口调试的解决方案
2017/05/28 Javascript
JavaScript数组的5种迭代方法
2017/09/29 Javascript
node.js监听文件变化的实现方法
2019/04/17 Javascript
webpack 如何同时输出压缩和未压缩的文件的实现步骤
2020/06/05 Javascript
[02:21]DOTA2英雄基础教程 蝙蝠骑士
2013/12/16 DOTA
[54:18]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS BO3 第一场 1月22日
2021/03/11 DOTA
python socket网络编程步骤详解(socket套接字使用)
2013/12/06 Python
使用Python脚本在Linux下实现部分Bash Shell的教程
2015/04/17 Python
python编程线性回归代码示例
2017/12/07 Python
对django中render()与render_to_response()的区别详解
2018/10/16 Python
深入了解Python iter() 方法的用法
2019/07/11 Python
scrapy实践之翻页爬取的实现
2021/01/05 Python
html5写一个BUI折叠菜单插件的实现方法
2019/09/11 HTML / CSS
Laura Geller官网:美国彩妆品牌
2018/12/29 全球购物
面向对象设计的原则是什么
2013/02/13 面试题
银行实习生的自我评价
2014/01/13 职场文书
初中化学教学反思
2014/01/23 职场文书
前台文员职责范本
2014/03/07 职场文书
党委班子对照检查材料
2014/08/19 职场文书
中层领导干部群众路线对照检查材料思想汇报
2014/10/02 职场文书
党员进社区活动总结
2015/05/07 职场文书
会议新闻稿
2015/07/17 职场文书
防震减灾主题班会
2015/08/14 职场文书
聘用合同范本
2015/09/21 职场文书
应届生们该怎么书写求职信?
2019/07/05 职场文书
导游词之江南周庄
2019/12/06 职场文书
python绘图subplots函数使用模板的示例代码
2021/04/30 Python
如何利用React实现图片识别App
2022/02/18 Javascript
MySQL索引失效场景及解决方案
2022/07/23 MySQL