gpt4 book ai didi

javascript - 如何在 JavaScript 中将名称放入标题大小写中?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:55:00 25 4
gpt4 key购买 nike

我一直在寻找如何使用 JavaScript 将名称设置为正确的大小写,例如乔治麦克霍尔将成为乔治麦克霍尔。我能够在 Codeproject 上找到一篇关于如何做到这一点的文章,以及一个打算这样做的人:

function toProperCase(s){
return s.toLowerCase().replace( /\b((m)(a?c))?(\w)/g,
function($1, $2, $3, $4, $5) {
if($2){
return $3.toUpperCase()+$4+$5.toUpperCase();
}
return $1.toUpperCase();
});
}

这允许我正在寻找的东西。但我需要能够进一步扩展它并添加更多案例。

我找到了 another page on John Gruber's site做标题大小写,但我只看做名字。

那么,有人对扩展它有想法吗?我真的只是在寻找正确方向的一点。

编辑:由于我似乎在这里碰壁,也许有人有办法在服务器端做到这一点。这至少是目前在服务器端使用 ColdFusion。我已经看到了 C# 实现,但目前无法迁移到 C#。

最佳答案

结合类似帖子的一些答案:

    var selElem = document.getElementById("fromName");

selElem.addEventListener("change", function() {
document.getElementById("result").innerHTML = properName(selElem.value);
});

function properName(name) {
return ("" + name.replace(/[^\s\-\']+[\s\-\']*/g, function(word) {
return word.charAt(0).toUpperCase() + word.substr(1).toLowerCase();
}).replace(/\b(Van|De|Der|Da|Von)\b/g, function(nobiliaryParticle) {
return nobiliaryParticle.toLowerCase();
}).replace(/Mc(.)/g, function(match, letter3) {
return 'Mc' + letter3.toUpperCase();
}));
}
<p>
Choose a name to see it properly capitalised:
</p>
<select id="fromName">
<option>Select a name</option>
<option>EMMA HURST</option>
<option>CHRIS HINDI</option>
<option>OSCAR GRENFELL</option>
<option>JIM CASEY</option>
<option>MEOW-LUDO DISCO GAMMA MEOW-MEOW</option>
<option>PAT SHEIL</option>
<option>NOEL MCFARLANE</option>
<option>CHRIS MCLACHLAN</option>
<option>ANTHONY ALBANESE</option>
<option>DAVID VAN GOGH</option>
<option>JAMIE ELVY</option>
</select>
<p>Result: <span id="result"></span></p>

关于javascript - 如何在 JavaScript 中将名称放入标题大小写中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4134494/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com