小编Eir*_*rik的帖子

在javascript中大写带连字符的名称

我需要在javascript中大写名称,到目前为止我在SO上找到了这些方法:

// doesn't capitalize first letter after hyphen -> gives Bjørn-martin
str.replace(/\w\S*/g, function (txt) { return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); });

// capitalizes after hyphen, but also after funny Norwegian characters (æøå) -> gives BjøRn-Martin
str.replace(/\b[\w']+\b/g, function (txt) { return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); });

// same as first
str = str.toLowerCase().replace(/^[\u00C0-\u1FFF\u2C00-\uD7FF\w]|\s[\u00C0-\u1FFF\u2C00-\uD7FF\w]/g, function(letter) {
    return letter.toUpperCase();
});
Run Code Online (Sandbox Code Playgroud)

当试图大写时bjørn-martin,他们都没有处理滑稽的挪威字符和连字符.

我并不完全精通正则表达式,并且想知道是否有人能指出我正确的方向,以便bjørn-martin正确地利用它Bjørn-Martin.

javascript regex

0
推荐指数
1
解决办法
1208
查看次数

标签 统计

javascript ×1

regex ×1