Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将字符串转换为破折号或斜杠后的标题大小写_Javascript_String_Capitalization_Capitalize - Fatal编程技术网

Javascript 将字符串转换为破折号或斜杠后的标题大小写

Javascript 将字符串转换为破折号或斜杠后的标题大小写,javascript,string,capitalization,capitalize,Javascript,String,Capitalization,Capitalize,我使用这个通用函数将我的大多数列表项转换为标题大小写,没有任何问题。我发现了一个需要改进的地方,当中间有短线或斜线时,我希望下一个字母大写。 例如,拉美裔/拉丁美洲人应该是拉美裔/拉丁美洲人。当第一个字母或以符号或空格开头时,基本上大写 当前代码: function toTitleCase(str) { return str.toLowerCase().replace(/(?:^|\s)\w/g, function (match) { return match.toUpp

我使用这个通用函数将我的大多数列表项转换为标题大小写,没有任何问题。我发现了一个需要改进的地方,当中间有短线或斜线时,我希望下一个字母大写。

例如,拉美裔/拉丁美洲人应该是拉美裔/拉丁美洲人。当第一个字母或以符号或空格开头时,基本上大写

当前代码:

function toTitleCase(str) {
    return str.toLowerCase().replace(/(?:^|\s)\w/g, function (match) {
        return match.toUpperCase();
    });
}

只需在regex
/(?:^ |\s | \/| \-)\w/g

函数toTitleCase(str){
返回str.toLowerCase().replace(/(?:^\s | \/| \-)\w/g,函数(匹配){
返回match.toUpperCase();
});
}

log(toTitleCase(“他/她的新教科书”)
只需将您捕获的空格
\s
更改为一类包含空格、连字符或斜杠的字符
[\s-/]
(以及您需要的任何其他字符)

函数toTitleCase(str){
返回str.toLowerCase().replace(/(?:^ |[\s-/])\w/g,函数(匹配){
返回match.toUpperCase();
});
}
log(toTitleCase(“testhere”);
log(toTitleCase(“test/here”);

log(toTitleCase(“testhere”)这里有一个去除破折号的解决方案。因此,对于以下输入:

list-item
它返回:

ListItem
Jamiec解决方案的扩展将实现这一点:

函数toTitleCase(str){
返回str.toLowerCase().replace(/(?:^ |[\s-/])\w/g,函数(匹配){
返回match.toUpperCase();
}).替换(“-”、“”);
}
日志(toTitleCase(“列表项”)