有6个反应角形式的
正则表达式:9999.99 OR 0000.99
(十进制2位)且不超过10000个数字,写在下面(基本上可以接受0000.01至9999.99)
编辑:1到9999也是0000.01到9999.99)
const currency ="(?!0)\\d+(?:\\.\\d+)?$'";
RatesFormArray.push(new FormControl('', [Validators.required, Validators.pattern(this.currency)]));
,但是它不起作用。角反应形式模式验证器的工作方式与javascript中的regex语法new RegExp()
一样吗?
我尝试过的是:https://stackblitz.com/edit/angular-symlaq?file=src%2Fapp%2Fapp.component.ts
答案 0 :(得分:2)
尝试使用此正则表达式查找介于0000.01到9999.99之间的数字
(/ ^([\ d] {0,4})(。| $)([\ d] {2,2} |)$ / g)
正则表达式上方将仅匹配0000.01到9999.99之间的数字,因此您应将其添加为i
constcurrency ="\^([\\d]{0,4})(\\.|$)([\\d]{2,2}|)$";
RatesFormArray.push(new FormControl('', [Validators.required,Validators.pattern(this.currency)]));
答案 1 :(得分:1)
正则表达式const currency="(?!(^0+(\.0+)?$))^\d{1,4}(\.\d{1,2})?$"
将匹配0到9999之间的任何数字以及两个小数点Try here