如何只允许数字?

Ser*_*gey 0 javascript angularjs

请帮助修复脚本.

HTML:

<input type="text" ng-model="phone" id="phoneInput" ng-change="apt.changePhoneInput(phone)">
Run Code Online (Sandbox Code Playgroud)

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;
  };
}
Run Code Online (Sandbox Code Playgroud)

的jsfiddle

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

Nag*_*wda 8

你缺少赋值result变量,替换字符除了数字

result=result.replace(/[^+0-9\(\)-]/gim,'');
Run Code Online (Sandbox Code Playgroud)

改变后你是控制者应该是

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;
  };
}
Run Code Online (Sandbox Code Playgroud)