簡體   English   中英

尋找正則表達式以匹配ng-pattern中的特定十進制格式

[英]looking for a regular expression to match specific decimal format in ng-pattern

我正在尋找一個正則表達式來放置ng的ng-pattern屬性。

我正在尋找只滿足特定十進制模式的表達式,即

exactly one digit --> than a decimal --> exactly 2 digits 

我想出了

\d{1}\.{1}\d{2}?

上面的模式正確匹配以下數字。

2.22
3.12
0.34

很好,但是如果用戶輸入12.12它不會拒絕我所需要的。

正好一位--比十進制->正好兩位

使用單詞邊界來防止它與任一側的不需要的文本匹配:

\b\d\.\d{2}\b

正則演示

如果您只需要此內容,而沒有其他內容,則應使用單詞的開頭( ^ )和單詞的結尾( $ )錨點。 您的正則表達式為:

var regex = /^\d\.\d{2}$/;         //then just bind to controller

在regex101上測試

根據ng-pattern文檔

如果表達式的計算結果為RegExp對象,則可以直接使用該表達式。 如果表達式的計算結果為字符串,則將其用^$字符包裝后將轉換為RegExp。 例如, "abc"將被轉換為new RegExp('^abc$')

請注意,如果使用字符串輸入,則必須轉義反斜杠以獲取正確的regex字符串。 在這種情況下,您可以使用

<input ng-model="yourModel" ng-pattern="\\d\\.\\d{2}" >

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM