繁体   English   中英

限制字符和小数点后最多 2 个小数位

[英]Restrict Character and Number after decimal upto 2 decimal places

我有一个要求,用户应该允许唯一的带有 2 位小数的数字

  1. 用户也不应允许输入任何字符或特殊字符
  2. 用户也不应允许输入小数点后 2 位后的数字

示例:用户尝试在7979.78之后输入一个数字

我试过这个正则表达式,但它不起作用:

app.directive('numbersOnly', function () {
  return {
    require: 'ngModel',
    link: function (scope, element, attr, ngModelCtrl) {
      function fromUser(text) {
        if (text) {
          var transformedInput = text.replace(/[^0-9\.]([0-9]{1,2})?$/g, '');

          if (transformedInput !== text) {
            ngModelCtrl.$setViewValue(transformedInput);
            ngModelCtrl.$render();
          }
          return transformedInput;
        }
        return undefined;
      }
      ngModelCtrl.$parsers.push(fromUser);
    }
  };
});

正则表达式\d+\.*\d{0,2}的这种方法怎么样

 console.log("21.123".match(/\d+\.*\d{0,2}/)[0]) // 21.12 console.log("21".match(/\d+\.*\d{0,2}/)[0]) // 21

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM