JavaScript封裝的常用工具類庫bee.js用法詳解【經(jīng)典類庫】
本文實例講述了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)
//Demo Bee.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)
//demo var 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)
//demo var expression='(2+9)*8-24'; Bee.ElementaryArithmeticUtils.infixToPostfixExpression(expression); //結(jié)果 2 9 + 8 * 24 -
//中綴表達式轉(zhuǎn)前綴表達式(結(jié)果以空格隔開) infixToPrefixExpression: function(expression) //demo var expression='(2+9)*8-24'; Bee.ElementaryArithmeticUtils.infixToPrefixExpression(expression); //結(jié)果 - * + 2 9 8 24
//解決正負號問題-1轉(zhuǎn)為0-1;+1轉(zhuǎn)為0+1 eliminatePositiveOrNegativeSign: function(expression) //把中綴表達式轉(zhuǎn)為前綴表達式,再計算 calculateByPrefixExpression: function(expression)
//demo var expression='(2+9)*8-24'; Bee.ElementaryArithmeticUtils.calculateByPrefixExpression(expression); //結(jié)果 ["64"]
//把中綴表達式轉(zhuǎn)為后綴表達式,再計算 calculateByPostfixExpression: function(expression) //demo var 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)
//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相關內(nèi)容還可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學運算用法總結(jié)》
希望本文所述對大家JavaScript程序設計有所幫助。
相關文章
js實現(xiàn)web調(diào)用攝像頭 js截取視頻畫面
這篇文章主要為大家詳細介紹了JS web調(diào)用攝像頭,截取視頻畫面,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-04-04prototype.js簡單實現(xiàn)ajax功能示例
這篇文章主要介紹了prototype.js簡單實現(xiàn)ajax功能,結(jié)合實例形式分析了prototype.js前臺實現(xiàn)ajax與后臺struts的相關操作技巧,需要的朋友可以參考下2017-10-10JavaScript 使用Ckeditor+Ckfinder文件上傳案例詳解
這篇文章主要介紹了JavaScript 使用Ckeditor+Ckfinder文件上傳案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-08-08javascript實現(xiàn)dom動態(tài)創(chuàng)建省市縱向列表菜單的方法
這篇文章主要介紹了javascript實現(xiàn)dom動態(tài)創(chuàng)建省市縱向列表菜單的方法,可實現(xiàn)省市列表菜單效果,涉及javascript鼠標事件及頁面處理json數(shù)據(jù)的技巧,需要的朋友可以參考下2015-05-05JavaScript實現(xiàn)鼠標經(jīng)過表格行給出顏色標識
這篇文章主要為大家詳細介紹了JavaScript實現(xiàn)鼠標經(jīng)過表格行給出顏色標識,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-04-04