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程序设计有所帮助。