2017-10-09 46 views
1

我具有有角的形式等:角2打字稿 - 爲每個字在輸入

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

我需要利用在輸入的每個單詞。我用下面的代碼:

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

但它並不像大寫字符「ľščťžýáíé......」我怎麼能解決這個問題?

插入「ABCDEF CDEF」後返回「ABCDEF CDEF」(只是一個例子)

回答

1

解決:

替換原來的正則表達式:/\ B(\ W)/ G
用新的正則表達式:/(^ | \ s)實施AZ \ u00E0- \ u170E] /克

1

\ b爲一個非字邊界(即\ B將作出的邊界爲任何其沒有按任何字符「T屬於[0-9A-ZA-Z_])

因此,那些重音字成爲你的字邊界的任何1 ..

而是使用這個表達式

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

thanx但它不起作用 – User

+0

你確定?,檢查了這個問題https://stackoverflow.com/questions/16573099/javascript-jquery-uppercase-first-letter-of-variable-with-accents – sdfbhg

+0

解決了, chceck我的答案,它不只是接受\ u00FC後面的字符 – User