Angular 2 typescript - 将输入中的每个单词大写

Angular 2 typescript - capitalize each word in input

我有一个 angular 形式,例如:

<mat-form-field>
    <input
        matInput
        placeholder="Name">
</mat-form-field>

我需要将输入的每个单词大写。我使用了以下代码:

input.value = current.replace(/\b(\w)/g, symbol => symbol.toLocaleUpperCase());

但它不会将诸如“ľščťžýáíé...”之类的字符大写,我该如何解决这个问题?

插入后"abcděf čdef"就returns"AbcděF čDef"(仅举个例子)

\b 是非单词边界(即 \b 将为不属于 [0-9a-zA-Z_] 中任何 1 的任何字符设置边界)

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

改为使用此正则表达式

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

已解决:

替换原来的正则表达式:/\b(\w)/g
使用新的正则表达式:/(^|\s)[a-z\u00E0-\u170E]/g