JS/CSS實現(xiàn)字符串單詞首字母大寫功能
css實現(xiàn):
text-transform:capitalize;
JS代碼一:
String.prototype.firstUpperCase = function(){ return this.replace(/\b(\w)(\w*)/g,function($0,$1,$2){ return $1.toUpperCase() + $2.toLowerCase(); }) } var result = "i'm hello world".firstUpperCase();; console.log(result); //I'M Hello World
注:正則表達式\b會把英文縮寫,譬如I'm拆分成兩個部分,導致輸出為I'M,所以不能使用\b
JS代碼二:
String.prototype.firstUpperCase = function(){ let arr = this.split(' '); let uppserCase = ([first,...rest]) => first.toUpperCase() + rest.join(''); let result = ''; arr.forEach((val) => { result += uppserCase(val) + ' '; }) return result; } //結果://I'm Hello World
JS代碼三:
String.prototype.firstUpperCase = function(){ let arr = this.split(' '); let result = ''; arr.forEach((val) => { result += val.charAt(0).toUpperCase() + val.slice(1) + ' '; }) return result; } //結果://I'm Hello World
JS代碼四:
String.prototype.firstUpperCase = function(){ let arr = this.split(' '); let result = ''; arr.forEach((val) => { result += `${val[0].toUpperCase()}${val.slice(1)} `; }) return result; } //結果://I'm Hello World
注:
\b:匹配一個單詞邊界,也就是指單詞和空格間的位置。例如, 'erb' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'。
\w:匹配包括下劃線的任何單詞字符。等價于'[A-Za-z0-9_]'。
*:匹配前面的子表達式零次或多次。例如,zo 能匹配 "z" 以及 "zoo"。 等價于{0,}。
\s:匹配任何空白字符,包括空格、制表符、換頁符等等。等價于 [ fnrtv]。
\S:匹配任何非空白字符。等價于 [^ \f\n\r\t\v]。
總結
以上所述是小編給大家介紹的JS/CSS實現(xiàn)字符串單詞首字母大寫功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
相關文章
解析利用javascript如何判斷一個數(shù)為素數(shù)
本文主要分享了利用javascript如何判斷一個數(shù)為素數(shù)的具體實例代碼,有需要的朋友可以作為參考看下2016-12-12JavaScript 判斷指定字符串是否為有效數(shù)字
最近在做一個ColdFusion的項目,有一個業(yè)務Check,需要用JavaScript實現(xiàn):判斷指定字符串是否為有效數(shù)字。2010-05-05JavaScript中clientWidth,offsetWidth,scrollWidth的區(qū)別
這篇文章主要介紹了Element中clientWidth,offsetWidth,scrollWidth的區(qū)別,幫助大家更好的理解和使用JavaScript,感興趣的朋友可以了解下2021-01-01