我已经在此上浪费了很多时间:(。
我只接受整数或双正数:
例如:
40000
,500.0000
,400.1234
我设法做到了整数:
// somewhere at the code
export const NUMERIC_PATTREN = '^-?[0-9]\\d*(\\.\\d{1,2})?$';
// component code:
amount: [{ value: entry.amount, disabled: false }, [Validators.required,Validators.pattern(NUMERIC_PATTREN )]],
但是,输入不接受格式为500.0000
或400.1234
的值。
有人可以帮我解决这个问题吗?
更新 我也想限制点之后的位数。
答案 0 :(得分:1)
如果您要接受整数或双精度数,且该整数在该点之后或之前没有限制,则可以:
https://stackblitz.com/edit/angular-g75hxt
amount: [{ value: entry.amount, disabled: false }, [Validators.required, Validators.min(0)]],
答案 1 :(得分:0)
这对我有用:
class SyntheticMethodDemo {
class NestedClass {
private String nestedField;
}
private final NestedClass nested = new NestedClass();
public String getNestedField() {
return nested.nestedField;
}
public void setNestedField(String nestedField) {
nested.nestedField = nestedField;
}
}
这将接受一个整数或一个双精度点,该点后面最多4个位。
如果要增加或减少该点之后的位置,则需要玩4,例如:
export const NUMERIC_PATTREN = '^-?[0-9]\\d*(\\.\\d{1,4})?$';
如果要在该点之后有无限的地方,则需要使用:
export const NUMERIC_PATTREN = '^-?[0-9]\\d*(\\.\\d{1,3})?$'; //accepts only 3 places after the point
如果您不希望用户在左侧输入零,则需要从1开始启动域。
export const NUMERIC_PATTREN = '^-?[0-9]\\d*(\\.\\d*)?$'; //accepts endless places