本文實例講述了JavaScript封裝的常用工具類庫bee.js。分享給大家供大家參考,具體如下:
bee.js下載地址:
github下載地址:https://github.com/shadowOfCode/bee.js
或點擊此處本站下載。
使用:
<!--area.js存放區(qū)域編碼的一個常量。由于bee.js里面的getPersonInfo18()方法需要調(diào)用這個常量,所以在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)//中國聯(lián)通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)//根據(jù)18身份證號碼獲取人員信息 getPersonInfo18:function(idCard)
//DemoBee.IdCardUtils.getPersonInfo18('350624199506094038');//結(jié)果{ 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則轉(zhuǎn)為”trimToEmpty: function(input)//以某個字符串開頭startsWith: function(input, prefix)//以某個字符串結(jié)尾endsWith: function(input, suffix)//包含某個子串contains: function(input, searchSeq)//判斷字符串是否相等equals: function(input1, input2)//判斷字符串是否相等,不區(qū)分大小寫equalsIgnoreCase: function(input1, input2)//是否包含空白字符containsWhitespace: function(input)//生成指定個數(shù)的字符repeat: function(ch, repeatTimes)//刪除空白字符deleteWhitespace: function(input)//右側(cè)補全ightPad: function(input, size, padStr)//左側(cè)補全leftPad: function(input, size, padStr)//首小寫字母轉(zhuǎn)大寫capitalize: function(input)//首大寫字母轉(zhuǎn)小寫uncapitalize: function(input)//大寫轉(zhuǎn)小寫,小寫轉(zhuǎn)大寫swapCase: function(input)//統(tǒng)計含有的子字符串的個數(shù)countMatches: function(input, sub)//只包含字母isAlpha: function(input)//只包含字母、空格isAlphaSpace: function(input)//只包含字母、數(shù)字isAlphanumeric: function(input)//只包含字母、數(shù)字和空格 isAlphanumericSpace: function(input)//數(shù)字isNumeric: function(input)//小數(shù)isDecimal: function(input)//負小數(shù)isNegativeDecimal: function(input)//正小數(shù)isPositiveDecimal: function(input)//整數(shù)isInteger: function(input)//正整數(shù)isPositiveInteger: function(input)//負整數(shù) isNegativeInteger: function(input)//只包含數(shù)字和空格isNumericSpace: function(input)//是否為空白字符sWhitespace: function(input)//是否全為小寫字母isAllLowerCase: function(input)//是否全為大寫字母sAllUpperCase: function(input)//字符串為空時,默認值defaultString: function(input, defaultStr)//字符串為空時,默認值defaultIfBlank: function(input, defaultStr)//字符串為空時,默認值defaultIfEmpty: function(input, defaultStr)//字符串反轉(zhuǎn)reverse: function(input)//刪掉特殊字符(英文狀態(tài)下)removeSpecialCharacter: function(input)//只包含特殊字符、數(shù)字和字母(不包括空格,若想包括空格,改為[ -~])isSpecialCharacterAlphanumeric: function(input)/** * @param {String} message * @param {Array} arr * 消息格式化 */ format: function(message, arr)//demovar message='我是{0}開發(fā){1}';var arr=['java','工程師'];Bee.StringUtils.format(message,arr);//結(jié)果我是java開發(fā)工程師/** * 把連續(xù)出現(xiàn)多次的字母字符串進行壓縮。如輸入:aaabbbbcccccd 輸出:3a4b5cd * @param {String} input * @param {Boolean} ignoreCase : true or false */ compressRepeatedStr: function(input, ignoreCase)//中文校驗isChinese: function(input)//去掉中文字符removeChinese: function(input)//轉(zhuǎn)義元字符escapeMetacharacter: function(input)//轉(zhuǎn)義字符串中的元字符escapeMetacharacterOfStr: function(input)//中文轉(zhuǎn)為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)//中綴表達式轉(zhuǎn)后綴表達式infixToPostfixExpression: function(expression)
//demovar expression='(2+9)*8-24';Bee.ElementaryArithmeticUtils.infixToPostfixExpression(expression);//結(jié)果2 9 + 8 * 24 -
//中綴表達式轉(zhuǎn)前綴表達式(結(jié)果以空格隔開) infixToPrefixExpression: function(expression)//demovar expression='(2+9)*8-24';Bee.ElementaryArithmeticUtils.infixToPrefixExpression(expression);//結(jié)果- * + 2 9 8 24
//解決正負號問題-1轉(zhuǎn)為0-1;+1轉(zhuǎn)為0+1eliminatePositiveOrNegativeSign: function(expression)//把中綴表達式轉(zhuǎn)為前綴表達式,再計算calculateByPrefixExpression: function(expression)
//demovar expression='(2+9)*8-24';Bee.ElementaryArithmeticUtils.calculateByPrefixExpression(expression);//結(jié)果["64"]
//把中綴表達式轉(zhuǎn)為后綴表達式,再計算 calculateByPostfixExpression: function(expression)//demovar expression='(2+9)*8-24';Bee.ElementaryArithmeticUtils.calculateByPostfixExpression(expression);//結(jié)果["64"]
//橫式計算 horizontalCalculation: function(expression)var expression='1+2*(4-3)/5*[(7-6)/8*9]';Bee.ElementaryArithmeticUtils.horizontalCalculation(expression);//結(jié)果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、正則表達式生成工具類;
[ ] //生成正整數(shù)范圍的表達式positiveIntegerRange:function(minimum,maximum)
排除某些字符串,即不能包含某些字符串.返回值為RegExp對象
createRegexObjMustExclude:function(input, conditions)
參數(shù)說明
@param {Object} conditions:里面有多個屬性,如下:
@param {String} matcherFlag 匹配標識
0:數(shù)字;
1:字母;
2:小寫字母;
3:大寫字母;
4:特殊字符,指英文狀態(tài)下的標點符號及括號等;
5:中文;
6:數(shù)字和字母;
7:數(shù)字和小寫字母;
8:數(shù)字和大寫字母;
9:數(shù)字、字母和特殊字符;
10:數(shù)字和中文;
11:小寫字母和特殊字符;
12:大寫字母和特殊字符;
13:字母和特殊字符;
14:小寫字母和中文;
15:大寫字母和中文;
16:字母和中文;
17:特殊字符、和中文;
18:特殊字符、字母和中文;
19:特殊字符、小寫字母和中文;
20:特殊字符、大寫字母和中文;
100:所有字符;@param {Array} targetStrArr 排除的字符串,數(shù)組格式
@param {String} length 長度,可為空。1,2表示長度1到2之間;10,表示10個以上字符;5表示長度為5
@param {Boolean} ignoreCase 是否忽略大小寫
條件參數(shù)固定格式
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位長度的數(shù)字,且不能包含12和00子串var conditions={matcherFlag:"0",targetStrArr:['12','00'],length:"10",ignoreCase:true}Bee.RegexUtils.isPatternMustExclude("1234567009",conditions);//結(jié)果false//demo2,10位長度的數(shù)字,且不能包含120子串var conditions={matcherFlag:"0",targetStrArr:['120'],length:"10",ignoreCase:true}Bee.RegexUtils.isPatternMustExclude("1234567009",conditions);//結(jié)果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)
//demo1var conditions={matcherFlag:"0",targetStrArr:['120'],length:"10",ignoreCase:true}Bee.RegexUtils.isPatternMustContain("1234567009",conditions);false//demo2var conditions={matcherFlag:"0",targetStrArr:['12','00'],length:"10",ignoreCase:true}Bee.RegexUtils.isPatternMustContain("1234567009",conditions);true更多關(guān)于JavaScript相關(guān)內(nèi)容還可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運算用法總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
新聞熱點
疑難解答