Angular 2打字稿 - 将输入中的每个单词大写

时间:2017-10-09 17:46:43

标签: javascript capitalize

我的角色形式如下:

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

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

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

但它没有像“ľščťžýáíé......”这样的字符大写,我该如何解决?

在插入“abcděfčdef”后,它会返回“AbcděFčDef”(仅作为示例)

2 个答案:

答案 0 :(得分:1)

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

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

而是使用此正则表达式

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

答案 1 :(得分:1)

解决:

取代原始正则表达式: / \ b(\ w)/ g
新正则表达式: /(^ | \ s)[a-z \ u00E0- \ u170E] / g