成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

5個JavaScript的字符串處理庫

開發 前端
使用字符串可能是一項繁瑣的任務,因為有許多不同的用例。下面,讓我們看一些JavaScript的字符串處理庫。

使用字符串可能是一項繁瑣的任務,因為有許多不同的用例。例如,將字符串轉換為駝峰大小寫這樣的簡單任務可能需要幾行代碼才能達到最終目標。

  1. function camelize(str) { 
  2.   return str.replace(/(?:^\w|[A-Z]|\b\w|\s+)/g, function(match, index) { 
  3.     if (+match === 0) return ""; // or if (/\s+/.test(match)) for white spaces 
  4.     return index === 0 ? match.toLowerCase() : match.toUpperCase(); 
  5.   }); 

上面的代碼片段是 StackOverflow 中投票最多的答案。但這也沒有解決字符串為 ----Foo----bAr----- 的情況。

5個JavaScript的字符串處理庫

這是字符串處理庫可以拯救的地方,它們使實現復雜的字符串操作變得容易,并且可以考慮給定問題的所有可能用例。這對你有幫助,因為你只需要調用一個方法即可獲得有效的解決方案。

讓我們看一些JavaScript的字符串處理庫。

1. String.js

string.js,或者簡稱為 S,是一個輕量級的JavaScript庫(壓縮后壓縮后小于5kb),用于瀏覽器或提供額外String方法的Node.js。

(1) 安裝:

  1. npm i string 

(2) 值得注意的方法:

between(left, right) ——提取左右串之間的字符串。嘗試在HTML中的兩個標簽之間獲取元素時可以使用此方法。

  1. var S = require('string'); 
  2. S('<a>This is a link</a>').between('<a>', '</a>').s  
  3. // 'This is a link' 

camelize() ——刪除所有下劃線或破折號,并將字符串轉換成駝峰式大寫字母。此功能可用于解決本文開頭提到的問題。

  1. var S = require('string'); 
  2. S('---Foo---bAr---').camelize().s;  
  3. //'fooBar' 

humanize() ——將輸入轉換為人性化的形式。這個功能從頭開始實現,肯定需要相當多的代碼。

  1. var S = require('string'); 
  2. S('   capitalize dash-CamelCase_underscore trim  ').humanize().s  
  3. //'Capitalize dash camel case underscore trim' 

stripPunctuation() ——去掉給定字符串中的所有標點符號。如果你從頭開始實現此功能,則很有可能會錯過標點符號。

  1. var S = require('string'); 
  2. S('My, st[ring] *full* of %punct)').stripPunctuation().s;  
  3. //My string full of punct 

你可以在官方網站查看更多方法。

2. Voca

5個JavaScript的字符串處理庫

https://vocajs.com

Voca是一個用于處理字符串的JavaScript庫。Voca庫提供有用的函數來使字符串操作變得輕松自如:更改大小寫,修飾,填充,彈化,拉丁化,sprintfy,截斷,轉義等等。模塊化設計允許加載整個庫或單個函數以最小化應用程序構建。該庫已經過全面測試,有據可查,并得到長期支持。

(1) 安裝

  1. npm i voca 

(2) 值得注意的方法

Camel Case(String data)——將數據轉換為駝峰格式。

  1. var v = require('voca'); 
  2. v.camelCase('foo Bar'); 
  3. // => 'fooBar' 
  4.  
  5. v.camelCase('FooBar'); 
  6. // => 'fooBar' 
  7.  
  8. v.camelCase('---Foo---bAr---'); 
  9. // => 'fooBar' 

Latinise(String data)——通過刪除變音符號來對數據進行拉丁化處理。

  1. var v = require('voca'); 
  2. v.latinise('cafe\\u0301'); // or 'café' 
  3. // => 'cafe' 
  4.  
  5. v.latinise('août décembre'); 
  6. // => 'aout decembre' 
  7.  
  8. v.latinise('как прекрасен этот мир'); 
  9. // => 'kak prekrasen etot mir' 

isAlphaDigit(String data)——檢查數據是否僅包含字母和數字字符。 (字母數字)

  1. var v = require('voca'); 
  2. v.isAlphaDigit('year2020'); 
  3. // => true 
  4.  
  5. v.isAlphaDigit('1448'); 
  6. // => true 
  7.  
  8. v.isAlphaDigit('40-20'); 
  9. // => false 

CountWords(String data)——計算數據中的單詞數。

  1. var v = require('voca'); 
  2. v.countWords('gravity can cross dimensions'); 
  3. // => 4 
  4.  
  5. v.countWords('GravityCanCrossDimensions'); 
  6. // => 4 
  7.  
  8. v.countWords('Gravity - can cross dimensions!'); 
  9. // => 4 

EscapeRegExp(String data)——轉義在數據中的正則表達式特殊字符 -[] / {}()* +? 。 \ ^ $ | 。

  1. var v = require('voca'); 
  2. v.escapeRegExp('(hours)[minutes]{seconds}'); 
  3. // => '\(hours\)\[minutes\]\{seconds\}' 

3. Anchorme.js

5個JavaScript的字符串處理庫

https://alexcorvi.github.io/anchorme.js/

這是一個微型快速Javascript庫,可幫助檢測文本中的鏈接/ URL /電子郵件,并將其轉換為可單擊的HTML錨鏈接。

  • 它的靈敏度高,誤報率最低。
  • 它根據完整的IANA列表驗證URL和電子郵件。
  • 驗證端口號(如果有)。
  • 驗證IP八位字節號(如果存在)。
  • 適用于非拉丁字母URL。

(1) 安裝

  1. npm i anchorme 

(2) 使用

  1. import anchorme from "anchorme";  
  2. // 或者 
  3. // var anchorme = require("anchorme").default; 
  4. const input = "some text with a link.com";  
  5. const resultA = anchorme(input); 
  6. //some text with a <a href="http://link.com">link.com</a> 

你可以傳入額外的擴展來進一步定制功能。

4. Underscore.string

5個JavaScript的字符串處理庫

http://gabceb.github.io/underscore.string.site/

Underscore.string 是JavaScript的字符串操作擴展,可以與或不與Underscore.js一起使用。Underscore.string是一個JavaScript庫,用于舒適地處理字符串,它是Prototype.js,Right.js和Underscore啟發的Underscore.js擴展。

Underscore.string為你提供了幾個有用的功能:大寫、清除、包括、計數、escapeHTML、unescapeHTML、插入,拼接、startsWith、endsWith、標題化、修剪、截斷等。

(1) 安裝

  1. npm install underscore.string 

(2) 值得注意的方法

numberFormat(number)——格式化數字。將數字格式化為帶小數點和順序分隔的字符串。

  1. var _ = require("underscore.string"); 
  2. _.numberFormat(1000, 3) 
  3. => "1,000.000" 
  4. _.numberFormat(123456789.123, 5, '.', ','); 
  5. => "123,456,789.12300" 

chop(string, step)——將給定的字符串切成小塊。

  1. var _ = require("underscore.string"); 
  2. _.chop('whitespace', 3); 
  3. => ['whi','tes','pac','e'] 

5. Stringz

該庫的主要亮點是它支持unicode。如果運行以下代碼,則輸出為2。

  1. "".length 
  2. // -> 2 

這是因為 String.length() 返回字符串中的代碼單元數,而不是字符數。

(1) 安裝

  1. npm install stringz 

(2) 值得注意的方法

limit(string, limit, padString, padPosition)——將字符串限制為給定的寬度。

  1. const stringz = require('stringz'); 
  2. // Truncate: 
  3. stringz.limit('Life’s like a box of chocolates.', 20);  
  4. // "Life's like a box of" 
  5.  
  6. // Pad: 
  7. stringz.limit('Everybody loves emojis!', 26, '');  
  8. // "Everybody loves emojis!" 
  9. stringz.limit('What are you looking at?', 30, '+', 'left');  
  10. // "++++++What are you looking at?" 
  11.  
  12. // Unicode Aware: 
  13. stringz.limit('', 2);  
  14. // "" 
  15. stringz.limit('', 4, '');  
  16. // "" 

toArray(string)——將字符串轉換為數組。

  1. const stringz = require('stringz'); 
  2. stringz.toArray('abc'); 
  3. // ['a','b','c'] 
  4. //Unicode aware 
  5. stringz.toArray(''); 
  6. // ['', '', ''] 

要了解有關Stringz的更多信息訪問其Github。

 

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2025-02-21 12:30:00

字符串前端JavaScript

2020-12-31 07:56:02

JavaScript 字符串技巧

2021-08-26 11:41:50

字符串String.jsVoca

2023-04-17 16:19:32

編程語言JavaScript開發

2023-02-09 16:15:27

JavaScript編程語言字符串

2013-12-12 17:08:24

Lua字符串

2010-11-26 09:51:54

MySQL字符串

2025-03-18 07:20:00

JavaScript開發字符串

2012-04-10 13:37:28

JavaScript

2023-11-27 16:01:59

JavaScrip技巧

2024-09-06 17:32:55

字符串Python

2020-08-12 22:03:17

JavaScript開發技術

2010-06-04 14:59:06

MySQL數據庫

2010-06-21 09:48:43

2011-07-11 16:00:22

字符串拼接

2020-09-03 10:13:49

JavaScript字符串pad

2011-07-11 15:36:44

JavaScript

2010-08-04 11:23:15

Flex字符串

2015-06-09 14:43:36

javascript操作字符串

2010-07-14 16:35:52

Perl字符串處理函數
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩欧美在线观看 | 日韩精品 电影一区 亚洲 | 国产成人小视频 | 一区二区国产精品 | 中文字幕亚洲无线 | 国产一区二区三区免费 | www.久草.com | 一区二区三区视频在线免费观看 | 精品欧美乱码久久久久久 | 欧美日韩精品国产 | 男人的天堂在线视频 | 欧美一区二区三区在线播放 | 97色在线视频 | 亚洲一区二区三区乱码aⅴ 四虎在线视频 | 青青草网 | 国产精品日韩欧美 | 国产精品九九九 | 99久久久久| 国产精品国产 | 国产国产精品久久久久 | 精品在线看 | 波霸ol一区二区 | 国产日韩欧美在线观看 | 色偷偷888欧美精品久久久 | 日韩欧美三区 | 国产精品欧美一区二区三区不卡 | 男人的天堂亚洲 | 精品一区电影 | 激情黄色在线观看 | 一区二区精品 | 欧美高清视频 | 亚洲麻豆 | 日本精品一区二区在线观看 | 精品国产一区二区三区日日嗨 | 91毛片在线观看 | 色婷婷久久久久swag精品 | 毛片黄片 | 欧美激情第一区 | 欧美综合国产精品久久丁香 | 久久久久久91| 欧美一区二区三区的 |