如何只允许数字?

时间:2016-12-15 19:05:58

标签: javascript angularjs

请帮助修复脚本。

HTML:

<input type="text" ng-model="phone" id="phoneInput" ng-change="apt.changePhoneInput(phone)">

JS:

var app = angular.module('app', []);
app.controller('Appctrl', Appctrl, '$scope');
function Appctrl($scope){
  this.changePhoneInput = function(phone) {
    var result = phone;
    console.log('phone', phone);
    result.replace(/[^+0-9\(\)]/gim,'');
    console.log('result', result);
    $scope.phone = result;
  };
}

JSFIDDLE

我想允许只输入数字并跟随符号:'+','(',')',' - '。但输入任何符号后,替换不起作用

1 个答案:

答案 0 :(得分:8)

您错过了result变量的分配,替换了数字

之后的字符
result=result.replace(/[^+0-9\(\)-]/gim,'');

改变后你是控制者应该像

var app = angular.module('app', []);
app.controller('Appctrl', Appctrl, '$scope');
function Appctrl($scope){
  this.changePhoneInput = function(phone) {
    var result = phone;
    console.log('phone', phone);
    result=result.replace(/[^+0-9\(\)-]/gim,'');
    console.log('result', result);
    $scope.phone = result;
  };
}