Angular7 验证模式只接受整数和双精度值
Angular7 Validation Pattern to accept only integers and double values
我已经在这上面浪费了很多时间:(.
我只想接受整数或双正数:
前任:
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
格式的值。
谁能帮我解决这个问题。
更新
我也想限制点后的名额
如果您想在点之后或之前接受无限位的整数或双精度值,这将有所帮助:
https://stackblitz.com/edit/angular-g75hxt
amount: [{ value: entry.amount, disabled: false }, [Validators.required, Validators.min(0)]],
这对我有用:
export const NUMERIC_PATTREN = '^-?[0-9]\d*(\.\d{1,4})?$';
这将接受整数或双数,点后最多有 4 位。
如果要增加或减少点后的位,需要玩4,例如:
export const NUMERIC_PATTREN = '^-?[0-9]\d*(\.\d{1,3})?$'; //accepts only 3 places after the point
如果你想在你需要使用的点之后无限的地方:
export const NUMERIC_PATTREN = '^-?[0-9]\d*(\.\d*)?$'; //accepts endless places
如果您不希望用户在左侧输入零,那么您需要从 1 开始域:
^-?[1-9]\d*(\.\d{1,4})?$
我已经在这上面浪费了很多时间:(.
我只想接受整数或双正数:
前任:
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
格式的值。
谁能帮我解决这个问题。
更新 我也想限制点后的名额
如果您想在点之后或之前接受无限位的整数或双精度值,这将有所帮助:
https://stackblitz.com/edit/angular-g75hxt
amount: [{ value: entry.amount, disabled: false }, [Validators.required, Validators.min(0)]],
这对我有用:
export const NUMERIC_PATTREN = '^-?[0-9]\d*(\.\d{1,4})?$';
这将接受整数或双数,点后最多有 4 位。
如果要增加或减少点后的位,需要玩4,例如:
export const NUMERIC_PATTREN = '^-?[0-9]\d*(\.\d{1,3})?$'; //accepts only 3 places after the point
如果你想在你需要使用的点之后无限的地方:
export const NUMERIC_PATTREN = '^-?[0-9]\d*(\.\d*)?$'; //accepts endless places
如果您不希望用户在左侧输入零,那么您需要从 1 开始域:
^-?[1-9]\d*(\.\d{1,4})?$