我是Javascript或正则表达式的新手。我需要将第一个单词字母替换为大写字母,我的代码会将其替换,但它也会在特殊字符或其他字母(如ąčęėįš等)之后替换字母,并且我需要避免它并仅更改第一个字母。有人可以帮我解决这个问题吗?
我的代码在这里:
function capitalizeName(input) {
var name = input.val();
name = name.toLowerCase().replace(/\b[a-z]/g, function(letter) {
return letter.toUpperCase();
})
input.val(name);
答案 0 :(得分:0)
然后你需要用空格删除单词边界或开始锚定匹配。
name = name.toLowerCase().replace(/(^|\s)[a-z]/g, function(letter) {
return letter.toUpperCase();
})
答案 1 :(得分:0)
This应该适合你:
或者
console.log("tihi is some rčęėįš random typing. Is it good? maby has some minor-bugs but at least works"
.replace(/\w.*?\W/g, x => x[0].toUpperCase() + x.substr(1)))
你必须在最后添加非世界字符才能使其正常工作。
const data = "tihi is some rčęėįš random typing. Is it good? maby has some minor-bugs but at least works."
const capitalize = data => (data + ' ').replace(/\w.*?\W/g, x => x[0].toUpperCase() + x.substr(1)).substr(0, data.length)
console.log(capitalize(data))