Javascript/jQuery 变量的首字母大写,带重音符号

标签 javascript jquery regex uppercase

我有一个带有一些文本输入的表单,用于插入一个人的 First NameLast Name,但我想将每个单词的首字母更改为大写我找到了这个解决方案:

 // The textboxes with this class are modified
 $(".toUpper").change(function () {
        var str = $(this).val();
        str = str.toLowerCase().replace(/\b[a-z]/g, function (letter) {
            return letter.toUpperCase();

        });
        $(this).val(str);
    });

它有效,("hEllO"=>"Hello", "whAts uP"=>"Whats Up")

当我尝试将其应用于带重音的单词时出现问题,示例:

"gonzález" = "GonzáLez",
"pérez" = "PéRez"

重音单词后又是一个大写字母。

如何修改正则表达式以避免此问题?

希望你能帮帮我!! :)

最佳答案

\b 是一个非单词边界(即 \b 将为任何不属于 [0 -9a-zA-Z_])

所以那些带重音的词成为你词的边界..

改用这个正则表达式

/(^|\s)[a-z\u00E0-\u00FC]/g

关于Javascript/jQuery 变量的首字母大写,带重音符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16573099/

相关文章:

Javascript Lodash 按外部数组和内部属性排序

javascript - 在网站的新页面上保持 jquery 下拉菜单打开

javascript - 使用 onchange 事件动态改变 CSS 样式文件

javascript - 在 Javascript 中定义正确的 RegEx 时遇到问题

java - 为什么这个正则表达式不返回第二个单词

javascript - 将 http 请求中的数据保存到数组中,以 json 形式发送回客户端

javascript - 按键事件不起作用

php - jQuery 更新隐藏的输入值,但不传递给 POST 变量

regex - 通过正则表达式练习改进

javascript - 使用 Javascript 从外部页面获取 innerhtml