我有一個title
字符串,它來自我的用戶將提交的表單。我希望以任何方式採取title
,並將其格式化爲標題大小寫,我相信它是最易於閱讀的方式。將字符串轉換爲各種格式
alexis Sanchez -> Alexis Sanchez
sanchez's ball -> Sanchez's Ball
sanchez and co -> Sanchez and Co
我也想借此像「和」或「或」,讓他們爲小寫,就如上圖所示。這可能嗎?
另外,在某些場合,我想採取這個title
並過濾它,所以它忽略任何特殊字符,如撇號,並用破折號分隔它。這將用於URL(即.com/sanchezs-ball
)。
alexis Sanchez -> alexis-sanchez
ALEXIS Sanchez -> alexis-sanchez
sanchez's ball -> sanchezs-ball
我創建了兩個函數,幾乎可以做到這一點。我只是需要一些建議,以便如何調整它們以使其達到我想要的格式。
這一個需要我的title
並把它變成一個類似URL的字符串。這可以改進/縮短嗎?
function hashifyString(dirtyString) {
var title = dirtyString
.replace(/[^a-z0-9\s]/gi, '')
.replace(/\b\w+/g,function(s){return s.substr(0).toLowerCase();})
.replace(/[_\s]/g, '-');
return title;
}
我需要就如何在這一個改進了一些建議,所以它看起來出去「和」或「或」並保持,同時保持字符串首字母大寫的其餘字母小寫這兩個詞?
function beautifyString(dirtyString) {
var string = dirtyString
.replace(/[^a-z0-9\s]/gi, '')
.replace(/\b\w+/g,function(s){return s.charAt(0).toUpperCase() + s.substr(1).toLowerCase();})
return string;
}
我希望這是有道理的。任何幫助表示讚賞。提前致謝!
你說你想'.COM/Sanchezs-Ball'(注意大小寫嗎?),但你的'hashifyString'沒有做到這一點! – 2014-12-05 02:50:46
對不起,這是一個錯字。固定! – realph 2014-12-05 02:51:41
你有沒有想過如果你的一個用戶在名稱中有變音符號?一世。e:'franois-font'而不是'francois-fonte',而不是談論德國人,他們在各地都有ümlauts:) – 2014-12-05 02:58:47