日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
5個(gè)JavaScript的字符串處理庫(kù)

使用字符串可能是一項(xiàng)繁瑣的任務(wù),因?yàn)橛性S多不同的用例。例如,將字符串轉(zhuǎn)換為駝峰大小寫(xiě)這樣的簡(jiǎn)單任務(wù)可能需要幾行代碼才能達(dá)到最終目標(biāo)。

專(zhuān)注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)邵原免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千余家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

 
 
 
  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 中投票最多的答案。但這也沒(méi)有解決字符串為 ----Foo----bAr----- 的情況。

這是字符串處理庫(kù)可以拯救的地方,它們使實(shí)現(xiàn)復(fù)雜的字符串操作變得容易,并且可以考慮給定問(wèn)題的所有可能用例。這對(duì)你有幫助,因?yàn)槟阒恍枰{(diào)用一個(gè)方法即可獲得有效的解決方案。

讓我們看一些JavaScript的字符串處理庫(kù)。

1. String.js

string.js,或者簡(jiǎn)稱(chēng)為 S,是一個(gè)輕量級(jí)的JavaScript庫(kù)(壓縮后壓縮后小于5kb),用于瀏覽器或提供額外String方法的Node.js。

(1) 安裝:

 
 
 
  1. npm i string 

(2) 值得注意的方法:

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

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

camelize() ——?jiǎng)h除所有下劃線(xiàn)或破折號(hào),并將字符串轉(zhuǎn)換成駝峰式大寫(xiě)字母。此功能可用于解決本文開(kāi)頭提到的問(wèn)題。

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

humanize() ——將輸入轉(zhuǎn)換為人性化的形式。這個(gè)功能從頭開(kāi)始實(shí)現(xiàn),肯定需要相當(dāng)多的代碼。

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

stripPunctuation() ——去掉給定字符串中的所有標(biāo)點(diǎn)符號(hào)。如果你從頭開(kāi)始實(shí)現(xiàn)此功能,則很有可能會(huì)錯(cuò)過(guò)標(biāo)點(diǎn)符號(hào)。

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

你可以在官方網(wǎng)站查看更多方法。

2. Voca

https://vocajs.com

Voca是一個(gè)用于處理字符串的JavaScript庫(kù)。Voca庫(kù)提供有用的函數(shù)來(lái)使字符串操作變得輕松自如:更改大小寫(xiě),修飾,填充,彈化,拉丁化,sprintfy,截?cái)?,轉(zhuǎn)義等等。模塊化設(shè)計(jì)允許加載整個(gè)庫(kù)或單個(gè)函數(shù)以最小化應(yīng)用程序構(gòu)建。該庫(kù)已經(jīng)過(guò)全面測(cè)試,有據(jù)可查,并得到長(zhǎng)期支持。

(1) 安裝

 
 
 
  1. npm i voca 

(2) 值得注意的方法

Camel Case(String data)——將數(shù)據(jù)轉(zhuǎn)換為駝峰格式。

 
 
 
  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)——通過(guò)刪除變音符號(hào)來(lái)對(duì)數(shù)據(jù)進(jìn)行拉丁化處理。

 
 
 
  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)——檢查數(shù)據(jù)是否僅包含字母和數(shù)字字符。 (字母數(shù)字)

 
 
 
  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)——計(jì)算數(shù)據(jù)中的單詞數(shù)。

 
 
 
  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)——轉(zhuǎn)義在數(shù)據(jù)中的正則表達(dá)式特殊字符 -[] / {}()* +? 。 \ ^ $ | 。

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

3. Anchorme.js

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

這是一個(gè)微型快速Javascript庫(kù),可幫助檢測(cè)文本中的鏈接/ URL /電子郵件,并將其轉(zhuǎn)換為可單擊的HTML錨鏈接。

  • 它的靈敏度高,誤報(bào)率最低。
  • 它根據(jù)完整的IANA列表驗(yàn)證URL和電子郵件。
  • 驗(yàn)證端口號(hào)(如果有)。
  • 驗(yàn)證IP八位字節(jié)號(hào)(如果存在)。
  • 適用于非拉丁字母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 link.com 

你可以傳入額外的擴(kuò)展來(lái)進(jìn)一步定制功能。

4. Underscore.string

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

Underscore.string 是JavaScript的字符串操作擴(kuò)展,可以與或不與Underscore.js一起使用。Underscore.string是一個(gè)JavaScript庫(kù),用于舒適地處理字符串,它是Prototype.js,Right.js和Underscore啟發(fā)的Underscore.js擴(kuò)展。

Underscore.string為你提供了幾個(gè)有用的功能:大寫(xiě)、清除、包括、計(jì)數(shù)、escapeHTML、unescapeHTML、插入,拼接、startsWith、endsWith、標(biāo)題化、修剪、截?cái)嗟取?/p>

(1) 安裝

 
 
 
  1. npm install underscore.string 

(2) 值得注意的方法

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

 
 
 
  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

該庫(kù)的主要亮點(diǎn)是它支持unicode。如果運(yùn)行以下代碼,則輸出為2。

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

這是因?yàn)?String.length() 返回字符串中的代碼單元數(shù),而不是字符數(shù)。

(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)——將字符串轉(zhuǎn)換為數(shù)組。

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

要了解有關(guān)Stringz的更多信息訪(fǎng)問(wèn)其Github。


網(wǎng)站欄目:5個(gè)JavaScript的字符串處理庫(kù)
本文鏈接:http://m.5511xx.com/article/cohosps.html