JavaScript封裝的常用工具類(lèi)庫(kù)bee.js用法詳解【經(jīng)典類(lèi)庫(kù)】
本文實(shí)例講述了JavaScript封裝的常用工具類(lèi)庫(kù)bee.js。分享給大家供大家參考,具體如下:
bee.js下載地址:
github下載地址:https://github.com/shadowOfCode/bee.js
或點(diǎn)擊此處本站下載。
使用:
<!--area.js存放區(qū)域編碼的一個(gè)常量。由于bee.js里面的getPersonInfo18()方法需要調(diào)用這個(gè)常量,所以在bee.js之前引入。如果不需要用到這個(gè)方法也可以不引入area.js--> <script type="text/javascript" src="js/area.js" ></script> <script type="text/javascript" src="js/bee.js" ></script>
該javaScript庫(kù)主要包括了如下模塊:
1、手機(jī)號(hào)碼校驗(yàn);
//電話號(hào)碼 isPhoneCallNum: function(input) //電信手機(jī)號(hào)碼 isChinaTelecomPhoneNum: function(input) //中國(guó)聯(lián)通 isChinaUnicomPhoneNum: function(input) //中國(guó)移動(dòng) isChinaMobilePhoneNum: function(input) //手機(jī)號(hào)碼 isPhoneNum: function(input) //手機(jī)號(hào)碼簡(jiǎn)單校驗(yàn),只校驗(yàn)長(zhǎng)度 isPhoneNumBySize: function(input)
2、身份證校驗(yàn);
//18位身份證簡(jiǎn)單校驗(yàn) isSimpleIdCard18: function(idCard) //15位身份證簡(jiǎn)單校驗(yàn) isSimpleIdCard15: function(idCard) //18位身份證校驗(yàn)碼校驗(yàn) checkCode: function(idCard) //18位身份證嚴(yán)格校驗(yàn) isIdCard18: function(idCard) //根據(jù)18身份證號(hào)碼獲取人員信息 getPersonInfo18:function(idCard)
//Demo
Bee.IdCardUtils.getPersonInfo18('350624199506094038');
//結(jié)果
{
address: "福建省 漳州市 詔安縣",
sex: "男",
birthday: "1995年06月09日",
age: 23
}
3、郵箱校驗(yàn);
//郵箱校驗(yàn) isEmail: function(input)
4、字符串常用類(lèi);
//空字符串
isEmpty: function(input)
//不是空字符串
isNotEmpty: function(input)
//空字符串,可為空格
isBlank: function(input)
//不是空字符串,空格也算空字符串
isNotBlank: function(input)
//去掉字符串兩邊的空格
trim: function(input)
//若為null則轉(zhuǎn)為”
trimToEmpty: function(input)
//以某個(gè)字符串開(kāi)頭
startsWith: function(input, prefix)
//以某個(gè)字符串結(jié)尾
endsWith: function(input, suffix)
//包含某個(gè)子串
contains: function(input, searchSeq)
//判斷字符串是否相等
equals: function(input1, input2)
//判斷字符串是否相等,不區(qū)分大小寫(xiě)
equalsIgnoreCase: function(input1, input2)
//是否包含空白字符
containsWhitespace: function(input)
//生成指定個(gè)數(shù)的字符
repeat: function(ch, repeatTimes)
//刪除空白字符
deleteWhitespace: function(input)
//右側(cè)補(bǔ)全
ightPad: function(input, size, padStr)
//左側(cè)補(bǔ)全
leftPad: function(input, size, padStr)
//首小寫(xiě)字母轉(zhuǎn)大寫(xiě)
capitalize: function(input)
//首大寫(xiě)字母轉(zhuǎn)小寫(xiě)
uncapitalize: function(input)
//大寫(xiě)轉(zhuǎn)小寫(xiě),小寫(xiě)轉(zhuǎn)大寫(xiě)
swapCase: function(input)
//統(tǒng)計(jì)含有的子字符串的個(gè)數(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)
//負(fù)小數(shù)
isNegativeDecimal: function(input)
//正小數(shù)
isPositiveDecimal: function(input)
//整數(shù)
isInteger: function(input)
//正整數(shù)
isPositiveInteger: function(input)
//負(fù)整數(shù)
isNegativeInteger: function(input)
//只包含數(shù)字和空格
isNumericSpace: function(input)
//是否為空白字符
sWhitespace: function(input)
//是否全為小寫(xiě)字母
isAllLowerCase: function(input)
//是否全為大寫(xiě)字母
sAllUpperCase: function(input)
//字符串為空時(shí),默認(rèn)值
defaultString: function(input, defaultStr)
//字符串為空時(shí),默認(rèn)值
defaultIfBlank: function(input, defaultStr)
//字符串為空時(shí),默認(rèn)值
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}開(kāi)發(fā){1}';
var arr=['java','工程師'];
Bee.StringUtils.format(message,arr);
//結(jié)果
我是java開(kāi)發(fā)工程師
/**
* 把連續(xù)出現(xiàn)多次的字母字符串進(jìn)行壓縮。如輸入:aaabbbbcccccd 輸出:3a4b5cd
* @param {String} input
* @param {Boolean} ignoreCase : true or false
*/
compressRepeatedStr: function(input, ignoreCase)
//中文校驗(yàn)
isChinese: function(input)
//去掉中文字符
removeChinese: function(input)
//轉(zhuǎn)義元字符
escapeMetacharacter: function(input)
//轉(zhuǎn)義字符串中的元字符
escapeMetacharacterOfStr: function(input)
//中文轉(zhuǎn)為unicode編碼
chineseToUnicode: function(input)
5、簡(jiǎn)單四則運(yùn)算;
//加法 add: function(operandLeft, operandRight) //減法 subtract: function(operandLeft, operandRight) //乘法 multiply: function(operandLeft, operandRight) //除法 divide: function(operandLeft, operandRight) //校驗(yàn)表達(dá)式的合法性 isArithmeticExpression: function(expression) //計(jì)算 calculate: function(expression) //中綴表達(dá)式轉(zhuǎn)后綴表達(dá)式 infixToPostfixExpression: function(expression)
//demo var expression='(2+9)*8-24'; Bee.ElementaryArithmeticUtils.infixToPostfixExpression(expression); //結(jié)果 2 9 + 8 * 24 -
//中綴表達(dá)式轉(zhuǎn)前綴表達(dá)式(結(jié)果以空格隔開(kāi)) infixToPrefixExpression: function(expression) //demo var expression='(2+9)*8-24'; Bee.ElementaryArithmeticUtils.infixToPrefixExpression(expression); //結(jié)果 - * + 2 9 8 24
//解決正負(fù)號(hào)問(wèn)題-1轉(zhuǎn)為0-1;+1轉(zhuǎn)為0+1 eliminatePositiveOrNegativeSign: function(expression) //把中綴表達(dá)式轉(zhuǎn)為前綴表達(dá)式,再計(jì)算 calculateByPrefixExpression: function(expression)
//demo var expression='(2+9)*8-24'; Bee.ElementaryArithmeticUtils.calculateByPrefixExpression(expression); //結(jié)果 ["64"]
//把中綴表達(dá)式轉(zhuǎn)為后綴表達(dá)式,再計(jì)算 calculateByPostfixExpression: function(expression) //demo var expression='(2+9)*8-24'; Bee.ElementaryArithmeticUtils.calculateByPostfixExpression(expression); //結(jié)果 ["64"]
//橫式計(jì)算 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
//豎式計(jì)算 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、正則表達(dá)式生成工具類(lèi);
[ ] //生成正整數(shù)范圍的表達(dá)式 positiveIntegerRange:function(minimum,maximum)
排除某些字符串,即不能包含某些字符串.返回值為RegExp對(duì)象
createRegexObjMustExclude:function(input, conditions)
參數(shù)說(shuō)明
@param {Object} conditions:里面有多個(gè)屬性,如下:
@param {String} matcherFlag 匹配標(biāo)識(shí)
0:數(shù)字;
1:字母;
2:小寫(xiě)字母;
3:大寫(xiě)字母;
4:特殊字符,指英文狀態(tài)下的標(biāo)點(diǎn)符號(hào)及括號(hào)等;
5:中文;
6:數(shù)字和字母;
7:數(shù)字和小寫(xiě)字母;
8:數(shù)字和大寫(xiě)字母;
9:數(shù)字、字母和特殊字符;
10:數(shù)字和中文;
11:小寫(xiě)字母和特殊字符;
12:大寫(xiě)字母和特殊字符;
13:字母和特殊字符;
14:小寫(xiě)字母和中文;
15:大寫(xiě)字母和中文;
16:字母和中文;
17:特殊字符、和中文;
18:特殊字符、字母和中文;
19:特殊字符、小寫(xiě)字母和中文;
20:特殊字符、大寫(xiě)字母和中文;
100:所有字符;@param {Array} targetStrArr 排除的字符串,數(shù)組格式
@param {String} length 長(zhǎng)度,可為空。1,2表示長(zhǎng)度1到2之間;10,表示10個(gè)以上字符;5表示長(zhǎng)度為5
@param {Boolean} ignoreCase 是否忽略大小寫(xiě)
條件參數(shù)固定格式
conditions={matcherFlag:”0”,targetStrArr:[],length:”“,ignoreCase:true}
var conditions={matcherFlag:"0",targetStrArr:['12','00'],length:"10",ignoreCase:true}
Bee.RegexUtils.createRegexObjMustExclude("1234567009",conditions);
//生成的正則表達(dá)式
/^(?!.*(?:12|00))\d{10}$/i
校驗(yàn)時(shí)排除某些字符串,即不能包含某些字符串
isPatternMustExclude: function(input, conditions)
//demo1,10位長(zhǎng)度的數(shù)字,且不能包含12和00子串
var conditions={matcherFlag:"0",targetStrArr:['12','00'],length:"10",ignoreCase:true}
Bee.RegexUtils.isPatternMustExclude("1234567009",conditions);
//結(jié)果
false
//demo2,10位長(zhǎng)度的數(shù)字,且不能包含120子串
var conditions={matcherFlag:"0",targetStrArr:['120'],length:"10",ignoreCase:true}
Bee.RegexUtils.isPatternMustExclude("1234567009",conditions);
//結(jié)果
true
必須同時(shí)包含某些字符串,返回值為RegExp對(duì)象
createRegexObjMustContain:function()
var conditions={matcherFlag:"0",targetStrArr:['120'],length:"10",ignoreCase:true}
Bee.RegexUtils.createRegexObjMustContain("1234567009",conditions);
/^(?=.*120)\d{10}$/i
校驗(yàn)必須同時(shí)包含某些字符串
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
更多關(guān)于JavaScript相關(guān)內(nèi)容還可查看本站專(zhuān)題:《javascript面向?qū)ο笕腴T(mén)教程》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
- js驗(yàn)證手機(jī)號(hào)、密碼、短信驗(yàn)證碼代碼工具類(lèi)
- javaScript日期工具類(lèi)DateUtils詳解
- js提取中文拼音首字母的封裝工具類(lèi)
- 詳解javascript常用工具類(lèi)的封裝
- javaScript字符串工具類(lèi)StringUtils詳解
- Jsp servlet驗(yàn)證碼工具類(lèi)分享
- Java實(shí)現(xiàn)的JSONUtil工具類(lèi)與用法示例
- javaScript手機(jī)號(hào)碼校驗(yàn)工具類(lèi)PhoneUtils詳解
- JS實(shí)現(xiàn)Cookie讀、寫(xiě)、刪除操作工具類(lèi)示例
- JavaScript日期工具類(lèi)DateUtils定義與用法示例
相關(guān)文章
js實(shí)現(xiàn)web調(diào)用攝像頭 js截取視頻畫(huà)面
這篇文章主要為大家詳細(xì)介紹了JS web調(diào)用攝像頭,截取視頻畫(huà)面,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-04-04
微信小程序?qū)崿F(xiàn)橫向滾動(dòng)導(dǎo)航欄效果
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)橫向滾動(dòng)導(dǎo)航欄效果,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12
帶參數(shù)的function 的自運(yùn)行效果代碼
這篇文章介紹了帶參數(shù)的function 的自運(yùn)行效果,通過(guò)實(shí)例對(duì)比展示了帶參數(shù)與不帶參數(shù)function自運(yùn)行效果,需要的朋友可以參考一下2007-12-12
prototype.js簡(jiǎn)單實(shí)現(xiàn)ajax功能示例
這篇文章主要介紹了prototype.js簡(jiǎn)單實(shí)現(xiàn)ajax功能,結(jié)合實(shí)例形式分析了prototype.js前臺(tái)實(shí)現(xiàn)ajax與后臺(tái)struts的相關(guān)操作技巧,需要的朋友可以參考下2017-10-10
JavaScript 使用Ckeditor+Ckfinder文件上傳案例詳解
這篇文章主要介紹了JavaScript 使用Ckeditor+Ckfinder文件上傳案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08
javascript實(shí)現(xiàn)dom動(dòng)態(tài)創(chuàng)建省市縱向列表菜單的方法
這篇文章主要介紹了javascript實(shí)現(xiàn)dom動(dòng)態(tài)創(chuàng)建省市縱向列表菜單的方法,可實(shí)現(xiàn)省市列表菜單效果,涉及javascript鼠標(biāo)事件及頁(yè)面處理json數(shù)據(jù)的技巧,需要的朋友可以參考下2015-05-05
JavaScript實(shí)現(xiàn)鼠標(biāo)經(jīng)過(guò)表格行給出顏色標(biāo)識(shí)
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)鼠標(biāo)經(jīng)過(guò)表格行給出顏色標(biāo)識(shí),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-04-04

