来自控制验证模式的angular2 +反应式

时间:2018-09-27 04:45:26

标签: javascript regex angular typescript

有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

2 个答案:

答案 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