代码之家  ›  专栏  ›  技术社区  ›  Var

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

  •  0
  • Var  · 技术社区  · 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)]));
    

    但它不起作用。模式验证器的工作方式与regex语法相同 new RegExp() 来自javascript?

    https://stackblitz.com/edit/angular-symlaq?file=src%2Fapp%2Fapp.component.ts

    2 回复  |  直到 6 年前
        1
  •  1
  •   Nambi_0915    6 年前

    正则表达式 const currency="(?!(^0+(\.0+)?$))^\d{1,4}(\.\d{1,2})?$" 将0到9999之间的任何数字与两个小数点匹配 Try here

        2
  •  2
  •   Arif Rathod    6 年前

    尝试使用此正则表达式查找0000.01到9999.99之间的数字

    上面的正则表达式将只匹配0000.01到9999.99之间的数字,所以您应该将它添加到i

    constcurrency ="\^([\\d]{0,4})(\\.|$)([\\d]{2,2}|)$";
    RatesFormArray.push(new FormControl('', [Validators.required,Validators.pattern(this.currency)]));