2016-12-15 3 views
0

Bitte helfen Sie das Skript zu beheben.Wie kann man nur Ziffern zulassen?

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

ich nur Nummern eingeben zulassen möchten und Symbole folgen: '+', '(', ')' , -. Aber nachdem alle Symbole eingeben ersetzen funktioniert nicht

+0

mit HTML5 ? 'input type =" number "...>' – fnostro

+0

Muss '+' und '-' entkommen. Sie können '\ d' anstelle von' 0-9' verwenden. –

+0

Wenn ich daran denke, können Sie alternativ '' – fnostro

Antwort

8

Sie Zuordnung zu result Variable fehlt, nachdem er die Zeichen ersetzt excepts Nummer

result=result.replace(/[^+0-9\(\)-]/gim,''); 

Nach Wechsel sind Sie Controller sein sollte

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; 
    }; 
} 
Verwandte Themen