簡體   English   中英

Javascript regExp接受十進制前12位和十進制后兩位

[英]Javascript regExp to accept 12 digits before decimal and two digits after decimal

任何人都可以告訴我javascript regEx接受十進制前的12個數字,並允許十進制后的僅2個數字。如果該數字不包含任何十進制,則文本框最多應接受12個數字。該值只能是數字。 我已經有一條指令要執行所有的javascript驗證。請讓我知道還應該添加什么。

該指令-

.directive('allowOnlyDigits', function () {
    return {
        require: '?ngModel',
        scope: { currencycode: '=' },
        link: function(scope, element, attrs, ngModelCtrl) {
          if(!ngModelCtrl) {
            return; 
          }

          ngModelCtrl.$parsers.push(function(val) {
            if (angular.isUndefined(val)) {
                var val = '';
            }


            var decimalCheck = clean.split('.');

            if(!angular.isUndefined(decimalCheck[1])) {
                decimalCheck[1] = decimalCheck[1].slice(0,2);
                clean = decimalCheck[0] + '.' + decimalCheck[1];
            }

            if (val !== clean) {
              ngModelCtrl.$setViewValue(clean);
              ngModelCtrl.$render();
            }
            return clean;
          });

          element.bind('keypress', function(event) {
            if(event.keyCode === 32) {
              event.preventDefault();
            }
          });
        }
      };
    })

這是您要查找的RegEx:/ /^\\d{1,12}(\\.\\d{1,2})?$/

演示(自己嘗試):

 var input = document.getElementsByTagName("input")[0] input.oninput = function() { document.getElementById("output").textContent = /^\\d{1,12}(\\.\\d{1,2})?$/.test(input.value) } 
 <input type="text" /> <div id="output"></div> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM