1. 程式人生 > >javascript常用工具類庫bee.js

javascript常用工具類庫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、手機號碼校驗;

  • [x] //電話號碼

    isPhoneCallNum: function(input)

  • [x] //電信手機號碼

    isChinaTelecomPhoneNum: function(input)

  • [x] //中國聯通

    isChinaUnicomPhoneNum: function(input)

  • [x] //中國移動

    isChinaMobilePhoneNum: function(input)

  • [x] //手機號碼

    isPhoneNum: function(input)

  • [x] //手機號碼簡單校驗,只校驗長度
    isPhoneNumBySize: function(input)

2、身份證校驗;

  • [x] //18位身份證簡單校驗

    isSimpleIdCard18: function(idCard)

  • [x] //15位身份證簡單校驗

    isSimpleIdCard15: function(idCard)

  • [x] //18位身份證校驗碼校驗

    checkCode: function(idCard)

  • [x] //18位身份證嚴格校驗

    isIdCard18: function(idCard)

  • [x] //根據18身份證號碼獲取人員資訊
    getPersonInfo18:function(idCard)
//Demo
Bee.IdCardUtils.getPersonInfo18('350624199506094038');
//結果
{
    address: "福建省 漳州市 詔安縣",
    sex: "男",
    birthday: "1995年06月09日",
    age: 23
}

3、郵箱校驗;

  • [x] 郵箱校驗
    isEmail: function(input)

4、字串常用類;

  • [x] 空字串

    isEmpty: function(input)

  • [x] 不是空字串

    isNotEmpty: function(input)

  • [x] 空字串,可為空格

    isBlank: function(input)

  • [x] 不是空字串,空格也算空字串

    isNotBlank: function(input)

  • [x] 去掉字串兩邊的空格

    trim: function(input)

  • [x] 若為null則轉為”

    trimToEmpty: function(input)

  • [x] 以某個字串開頭

    startsWith: function(input, prefix)

  • [x] 以某個字串結尾

    endsWith: function(input, suffix)

  • [x] 包含某個子串

    contains: function(input, searchSeq)

  • [x] 判斷字串是否相等

    equals: function(input1, input2)

  • [x] 判斷字串是否相等,不區分大小寫

    equalsIgnoreCase: function(input1, input2)

  • [x] 是否包含空白字元

    containsWhitespace: function(input)

  • [x] //生成指定個數的字元

    repeat: function(ch, repeatTimes)

  • [x] 刪除空白字元

    deleteWhitespace: function(input)

  • [x] 右側補全

    ightPad: function(input, size, padStr)

  • [x] 左側補全

    leftPad: function(input, size, padStr)

  • [x] //首小寫字母轉大寫

    capitalize: function(input)

  • [x] //首大寫字母轉小寫

    uncapitalize: function(input)

  • [x] //大寫轉小寫,小寫轉大寫

    swapCase: function(input)

  • [x] //統計含有的子字串的個數

    countMatches: function(input, sub)

  • [x] //只包含字母

    isAlpha: function(input)

  • [x] //只包含字母、空格

    isAlphaSpace: function(input)

  • [x] //只包含字母、數字

    isAlphanumeric: function(input)

  • [x] //只包含字母、數字和空格

    isAlphanumericSpace: function(input)

  • [x] //數字

    isNumeric: function(input)

  • [x] //小數

    isDecimal: function(input)

  • [x] //負小數

    isNegativeDecimal: function(input)

  • [x] //正小數

    isPositiveDecimal: function(input)

  • [x] //整數

    isInteger: function(input)

  • [x] //正整數

    isPositiveInteger: function(input)

  • [x] //負整數

    isNegativeInteger: function(input)

  • [x] //只包含數字和空格

    isNumericSpace: function(input)

  • [x] 是否為空白字元

    sWhitespace: function(input)

  • [x] 是否全為小寫字母

    isAllLowerCase: function(input)

  • [x] 是否全為大寫字母

    sAllUpperCase: function(input)

  • [x] 字串為空時,預設值

    defaultString: function(input, defaultStr)

  • [x] 字串為空時,預設值

    defaultIfBlank: function(input, defaultStr)

  • [x] 字串為空時,預設值

    defaultIfEmpty: function(input, defaultStr)

  • [x] //字串反轉

    reverse: function(input)

  • [x] //刪掉特殊字元(英文狀態下)

    removeSpecialCharacter: function(input)

  • [x] //只包含特殊字元、數字和字母(不包括空格,若想包括空格,改為[ -~])

    isSpecialCharacterAlphanumeric: function(input)

  • [x] /**
    * @param {String} message
    * @param {Array} arr
    * 訊息格式化
    */
    format: function(message, arr)
//demo
var message='我是{0}開發{1}';
var arr=['java','工程師'];
Bee.StringUtils.format(message,arr);
//結果
我是java開發工程師
  • [x] /**
    * 把連續出現多次的字母字串進行壓縮。如輸入:aaabbbbcccccd 輸出:3a4b5cd
    * @param {String} input
    * @param {Boolean} ignoreCase : true or false
    */

    compressRepeatedStr: function(input, ignoreCase)

  • [x] //中文校驗

    isChinese: function(input)

  • [x] //去掉中文字元

    removeChinese: function(input)

  • [x] //轉義元字元

    escapeMetacharacter: function(input)

  • [x] //轉義字串中的元字元

    escapeMetacharacterOfStr: function(input)

  • [x] //中文轉為unicode編碼
    chineseToUnicode: function(input)

5、簡單四則運算;

  • [x] //加法

    add: function(operandLeft, operandRight)

  • [x] //減法

    subtract: function(operandLeft, operandRight)

  • [x] //乘法

    multiply: function(operandLeft, operandRight)

  • [x] //除法

    divide: function(operandLeft, operandRight)

  • [x] //校驗表示式的合法性

    isArithmeticExpression: function(expression)

  • [x] //計算

    calculate: function(expression)

  • [x] //中綴表示式轉字尾表示式

    infixToPostfixExpression: function(expression)

//demo
var expression='(2+9)*8-24';        
Bee.ElementaryArithmeticUtils.infixToPostfixExpression(expression);
//結果
2 9 + 8 * 24 -
  • [x] //中綴表示式轉字首表示式(結果以空格隔開)
    infixToPrefixExpression: function(expression)
//demo
var expression='(2+9)*8-24';        
Bee.ElementaryArithmeticUtils.infixToPrefixExpression(expression);
//結果
- * + 2 9 8 24
  • [x] //解決正負號問題-1轉為0-1;+1轉為0+1

    eliminatePositiveOrNegativeSign: function(expression)

  • [x] //把中綴表示式轉為字首表示式,再計算

    calculateByPrefixExpression: function(expression)

//demo
var expression='(2+9)*8-24';        
Bee.ElementaryArithmeticUtils.calculateByPrefixExpression(expression);
//結果
["64"]
  • [x] //把中綴表示式轉為字尾表示式,再計算
    calculateByPostfixExpression: function(expression)
//demo
var expression='(2+9)*8-24';        
Bee.ElementaryArithmeticUtils.calculateByPostfixExpression(expression);
//結果
["64"]
  • [x] //橫式計算
    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
  • [x] //豎式計算
    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)

  • [x] 排除某些字串,即不能包含某些字串.返回值為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

  • [x] 校驗時排除某些字串,即不能包含某些字串
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

  • [x] 必須同時包含某些字串,返回值為RegExp物件
createRegexObjMustContain:function()
var conditions={matcherFlag:"0",targetStrArr:['120'],length:"10",ignoreCase:true}
Bee.RegexUtils.createRegexObjMustContain("1234567009",conditions);
/^(?=.*120)\d{10}$/i

  • [x] 校驗必須同時包含某些字串
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

待續…

作者 [Mr.Lin]

QQ:[email protected]
2017 年 09月 01日

相關推薦

javascript常用工具bee.js

使用: <!--area.js存放區域編碼的一個常量。由於bee.js裡面的getPersonInfo18()方法需要呼叫這個常量,所以在bee.js之前引入。如果不需要用到這個方法

JavaScript 日期處理 Moment.js

官網地址:http://momentjs.cn/ 安裝: bower install moment --save # bower npm install moment --save # npm Install-Package Moment.js # NuGet spm insta

前端常用外掛及工具彙總

函式庫 Lodash(推薦):github.com/lodash/loda… Underscore:underscorejs.org/ Ramda:github.com/ramda/ramda outils:github.com/proYang/out… 30-seconds-o

「不要重複造輪子系列」 前端常用外掛、工具彙總

前言 在開發中,我們經常會將一些常用的程式碼塊、功能塊進行封裝,為的是更好的複用。那麼,被抽離出來獨立完成功能,通過API或配置項和其他部分互動,便形成了外掛。 下面這些是我在工作中積累的一些常用的前端開源外掛,這裡只是羅列出來,詳細的用法各個外掛官網或者Gayhub都有介紹。

前端常用外掛、工具彙總(上)

前言 在開發中,我們經常會將一些常用的程式碼塊、功能塊進行封裝,為的是更好的複用。那麼,被抽離出來獨立完成功能,通過API或配置項和其他部分互動,便形成了外掛。 下面這些是我在工作中積累的一些常用的前端開源外掛,這裡只是羅列出來,詳細的用法各個外掛官網或者Gayhub都有介紹。注意:往往一個解決方案會

前端常用插件、工具匯總(下)

基於 parser 攔截 fab color entry 交流 site 故事 前言 對本文感興趣可以先加個收藏,也可以轉發分享給身邊的小夥伴,以後遇到類似的場景就來看看具體的插件及其用法。 上一篇《前端常用插件、工具類庫匯總(上)》內容摘要: “ 動畫庫 滾動庫

前端常用外掛、工具彙總

前言   在開發中,我們經常會將一些常用的程式碼塊、功能塊進行封裝,為的是更好的複用。那麼,被抽離出來獨立完成功能,通過API或配置項和其他部分互動,便形成了外掛。 下面這些是我在工作中積累的一些常用的前端開源外掛,這裡只是羅列出來,詳細的用法各個外掛官網或者Gayhub都有介紹。注意:往

前端常用外掛、工具彙總(下)

前言 對本文感興趣可以先加個收藏,也可以轉發分享給身邊的小夥伴,以後遇到類似的場景就來看看具體的外掛及其用法。 上一篇《前端常用外掛、工具類庫彙總(上)》內容摘要: 動畫庫 滾動庫 輪播圖 滾屏 彈出框 訊息通知 下拉框 級聯選擇器

javascript 總結(常用工具的封裝)

** JavaScript ** 1. type 型別判斷 isString (o) { //是否字串 return Object.prototype.toString.call(o).slice(8, -1) === 'String' } isNumb

前端常用外掛、工具彙總,不要重複造輪子

函式庫 動畫庫 Animate.css Anime.js: 一個強大的、輕量級的用來製作動畫的javascript庫 Hover.css: wow.js: 滾動展示動畫 WOW.js 依賴 animate.css,所以它支援 animat

前端常用外掛、工具彙總,不要重複造輪子啦!!!

前言 在開發中,我們經常會將一些常用的程式碼塊、功能塊進行封裝,為的是更好的複用。那麼,被抽離出來獨立完成功能,通過API或配置項和其他部分互動,便形成了外掛。 下面這些是我在工作中積累的一些常用的前端開源外掛,這裡只是羅列出來,詳細的用法各個外掛官網或者Gayhub都有

js 常用工具

1. 資料回顯 -- 修改頁面,根據詳情介面回顯表單資料 let utils = { copyObject(target, source) { for (let key in target) { if (source.hasOwnProperty(

前端常用外掛、工具彙總(轉)

前言 在開發中,我們經常會將一些常用的程式碼塊、功能塊進行封裝,為的是更好的複用。那麼,被抽離出來獨立完成功能,通過API或配置項和其他部分互動,便形成了外掛。 下面這些是我在工作中積累的一些常用的前端開源外掛,這裡只是羅列出來,詳細的用法各個外掛官網或者Gayhub都有介紹。注意:往往一個

打造自己的Javascript工具

基本擴充套件、工具包 // ------------------------ 基本擴充套件, 字串,陣列等---------------------------------// function extend_base (){ if(!String.pro

最全面的Java字節byte操作,處理Java基本數據的轉換及進制轉換操作工具,流媒體及java底層開發項目常用工具

進制 string 常用工具類 cat i++ logs 指定位置 tput off 前言:用於處理Java基本數據的轉換及進制轉換操作工具 一、實現功能 1、int預byte互轉 2、int與byte[]互轉 3、short與byte互轉 4、short與byte[]互轉

C#常用工具——Excel操作(ZT)

ada fin bject sta area exec public excel文件 站點 本文轉載於: http://www.cnblogs.com/zfanlong1314/p/3916047.html 1 /// 常用工具類—&mdash

Android常用工具

cti def air exp -a src 重復元素 nec empty 主要介紹總結的Android開發中常用的工具類,大部分同樣適用於Java。目前包括HttpUtils、DownloadManagerPro、ShellUtils、PackageUtils、Prefe

個人一些小工具分享

key logger city 參數 註入 git 參考 tpc 使用 分享一下個人弄的幾個小工具類庫github地址 https://github.com/virtualcca/FoundationLibrary 這幾個小類庫都在我司各大主要系統裏長期運作,效果良好。主要

二、.Net常用基本【2.2】字符串靜態方法

param class val value 分隔符 isnull join ams 連接 bool IsNullOrEmpty(string value):判斷字符串是否為null或者是空字符串; bool Equals(string a, string b, Strin

二、.Net常用基本【2.1】字符串處理

大寫 ons 通過 split toc 元素 *** spa 索引 使用string 定義的字符串,在定義好後,是無法修改的。如果要想改變,必須通過tocharArray()函數將原來的字符串轉化為字符(char)數組。然後再通過轉換從而形成一個新的字符串。 字符串中常用的