欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-10-26 16:58:10
本文实例讲述了javascript封装的常用工具类库bee.js。分享给大家供大家参考,具体如下: bee.js下载地址: github下载地址:https://git...

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