我的角色形式如下:
<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”(仅作为示例)
答案 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