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

本文实例讲述了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程序设计有所帮助。

(0)

相关推荐

  • 详解javascript常用工具类的封装

    前言 因为工作中经常用到这些方法,所有便把这些方法进行了总结. JavaScript 1. type 类型判断 isString (o) { //是否字符串 return Object.prototype.toString.call(o).slice(8, -1) === 'String' } isNumber (o) { //是否数字 return Object.prototype.toString.call(o).slice(8, -1) === 'Number' } isObj (o) {

  • javaScript日期工具类DateUtils详解

    本文实例为大家分享了javaScript日期工具类的具体代码,供大家参考,具体内容如下 DateUtils = { patterns: { PATTERN_ERA: 'G', //Era 标志符 Era strings. For example: "AD" and "BC" PATTERN_YEAR: 'y', //年 PATTERN_MONTH: 'M', //月份 PATTERN_DAY_OF_MONTH: 'd', //月份的天数 PATTERN_HOUR_O

  • JavaScript日期工具类DateUtils定义与用法示例

    本文实例讲述了JavaScript日期工具类DateUtils定义与用法.分享给大家供大家参考,具体如下: DateUtils = { patterns: { PATTERN_ERA: 'G', //Era 标志符 Era strings. For example: "AD" and "BC" PATTERN_YEAR: 'y', //年 PATTERN_MONTH: 'M', //月份 PATTERN_DAY_OF_MONTH: 'd', //月份的天数 PATT

  • Java实现的JSONUtil工具类与用法示例

    本文实例讲述了Java实现的JSONUtil工具类与用法.分享给大家供大家参考,具体如下: import java.util.HashMap; import java.util.Map; import com.alibaba.druid.util.StringUtils; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; public class JSONUtils { /** * Bean对象转J

  • js验证手机号、密码、短信验证码代码工具类

    本文实例为大家分享了js验证手机号.密码.短信验证码的代码工具类,供大家参考,具体内容如下 代码工具类 /** * 参数较验 * * */ var verification = { stop : false, //倒计时 //验证手机号 phone : function (tel, id) { if ("" == tel || !tel) { mui.toast('手机号不可以为空!'); } else { var reg = /^0?1[3|4|5|7|8][0-9]\d{8}$/;

  • Jsp servlet验证码工具类分享

    昨晚在csdn看到一位前辈写一个ajax+servlet+jsp验证,顿时心血来潮,在阅读前辈的代码下我亲手体验一下,做了一个验证码生成工具类,以供大家做个参考. 1.添加VeriyCodeUtils类生成验证码图像 package com.servlet; import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import jav

  • javaScript手机号码校验工具类PhoneUtils详解

    本文实例为大家分享了javaScript手机号码校验工具类PhoneUtils的具体代码,供大家参考,具体内容如下 //PhoneUtils命名空间 PhoneUtils = { phoneRegexs: { //中国电信号码段 CHINA_TELECOM_PATTERN: /^(?:\+86)?1(?:33|53|7[37]|8[019])\d{8}$|^(?:\+86)?1700\d{7}$/, //中国联通号码段 CHINA_UNICOM_PATTERN: /^(?:\+86)?1(?:3

  • JS实现Cookie读、写、删除操作工具类示例

    本文实例讲述了JS实现Cookie读.写.删除操作工具类.分享给大家供大家参考,具体如下: /*** *读取指定的Cookie值 readCookie("id"); *@param {string} cookieName Cookie名称 */ function readCookie(cookieName) { var theCookie = "" + document.cookie; var ind = theCookie.indexOf(cookieName);

  • js提取中文拼音首字母的封装工具类

    前言 本文主要记录了如何用js提前中文拼音首字母的方法.封装一个函数,假如有需要的,可以直接拿去用.下面话不多说了,来一起看看详细的介绍吧. 原理 主要是根据中文的unicode码来进行的.主要是在收集的中文范围内查找,大家可以多收集一些.假如中文是多音字,那可能有点坑了! var getPy = (function() { //函数使用,本表收录的字符的Unicode编码范围为19968至40869, XDesigner 整理 var strChineseFirstPY = "YDYQSXMW

  • javaScript字符串工具类StringUtils详解

    本文实例为大家分享了javaScript字符串工具类的具体代码,供大家参考,具体内容如下 StringUtils = { isEmpty: function(input) { return input == null || input == ''; }, isNotEmpty: function(input) { return !this.isEmpty(input); }, isBlank: function(input) { return input == null || /^\s*$/.t

随机推荐