2016-07-01 4 views

답변

1

은 웹 브라우저에서 완벽하게 작동합니다. AngularJS와

<input type="tel" ng-model="value"/> 

에서

이 숫자 및 기호와 키보드를 제공, 사용할 수 있습니다. $의 개념을 활용

는 수로 최대 한계 입력 유형 모두가 달성 될 수에 AngularJS와 시계.

이 텍스트 필드의 2 개 이상의 다음 값에 따라 이전 값

$scope.$watch('value', function(newVal, oldVal) { 
    if(newVal.length > 2) {  
     $scope.value = oldVal; 
    } 
} 

에 설정되어 새로운 값의 길이가되면은 정수

var onlyNumbers = /^\d+$/; 
에 대한 정규식입니다

새 값이 정규 표현식과 일치하면 배열을 반환하거나 그렇지 않으면 없는. 반환 형식이 null의 경우, 텍스트의 값이 필드가 이전 값으로 설정되어

var r = newVal.match(onlyNumbers); 
    if(r===null){ 
     $scope.value = oldVal; 
    } 

전체 솔루션은 아래 plunker 링크에 포함되어 있습니다 :

https://plnkr.co/edit/WrZ3xKs9EcXOvCemuIck?p=preview

+0

입력 유형 = " tel "는 최대 길이로 작동합니다. 그러나 우리는 입력 유형 = "숫자"에 대한 해결책을 원합니다. 그리고 여기서 maxlength가 적용되지 않습니다. – user1312685

관련 문제