我需要一個運算式來驗證 1.0 到 4.5 之間的數字,但它不能精確地為它作業。
我正在使用的運算式:/^[1-4]{0,1}(?:[.]\d{1,2})?$/
要求是只接受 1.0 到 4.5 之間的值
但
buildInserForm(): void {
this.insertLeavesForm = this.fb.group({
**your text**
hours: [
{ value: 4.5, disabled: true },
[
Validators.required,
Validators.pattern(**/^[1-4]{0,1}(?:[.]\d{1,2})?$/**),
],
],
});
}
目前限制從 1.0 到 4.0 的數字,但問題在于小數點,如果在小數位輸入 6-9 之間的任何數字,如 1.7、2.8、3.9,則會顯示錯誤。
驗收標準為 1.0 至 4.5。
uj5u.com熱心網友回復:
正則運算式檢查數字范圍非常糟糕。它應該考慮非十進制數字嗎?如果小數點多于一位怎么辦?如果您想增加/減少范圍怎么辦?以下是有關該主題的更多資訊:正則運算式范圍與十進制 0.1 - 7.0
我會建議簡單的min/max驗證器。此外,這還可以讓您控制用戶值是否低于或高于標準,例如,讓您適當地顯示自定義錯誤訊息。而正則運算式只會評估為真/假。
[
Validators.required,
Validators.min(1),
Validators.max(4.5)
]
uj5u.com熱心網友回復:
您可以使用以下正則運算式模式:
^(?:[1-3](?:\.\d{1,2})?|4(?:\.(?:[0-4][0-9]|50?)?))$
演示
這個正則運算式模式說匹配:
^ start of the input
(?:
[1-3] match 1-3
(?:\.\d{1,2})? followed by optional decimal and 1 or 2 digits
| OR
4 match 4
(?:
\. decimal point
(?:[0-4][0-9]|50?)? match 4.00 to 4.49 or 4.5 or 4.50
)
)
$ end of the input
uj5u.com熱心網友回復:
這就是我發現的,它對我有用。
Validators.pattern(/^[1-3]{0,1}(?:[.][0-9]{0,1})?[4]{0,1}(?:[.][0-5]{0,1})?$/) "
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/446209.html
標籤:javascript 有角度的 正则表达式 打字稿 验证
上一篇:webpack升級后pacakge.json腳本不再作業
下一篇:型別不可分配給型別'IntrinsicAttributes&{children?:ReactNode;}'。財產
