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

//加法 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)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/423533eb0dad816f29c41bbd3af25675.html