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
我有一个 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