Validation Input Box AngularJS 1.6.6
Input box에 숫자만 입력 가능하도록 한글, 영문 제외 AngularJS 1.6.6
by jungbin
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.6/angular.js"></script>
<div ng-app="AppName" ng-controller="MainController">
<div>
<p>숫자 입력 O, 한글입력 X, 영문 입력 X</p>
입력:
<input type="text"
name="phoneNum"
ng-model="user.phoneNum"
maxlength="8"
ng-keydown="validCheck.keyDown(event)"
ng-keyup="validCheck.keyUp(event)"
required />
</div>
</div>
JavaScript
var app = angular.module('AppName', []);
app.controller('MainController', [
'$scope',
function ($scope) {
$scope.user = {
phoneNum: ""
};
$scope.validCheck = {
keyDown : function (e) {
var key;
if(window.event)
key = window.event.keyCode; //IE
else
key = e.which; //firefox
var event;
if (key == 0 || key == 8 || key == 46 || key == 9){
event = e || window.event;
if (typeof event.stopPropagation != "undefined") {
event.stopPropagation();
} else {
event.cancelBubble = true;
}
return;
}
if (key < 48 || (key > 57 && key < 96) || key > 105 || e.shiftKey) {
e.preventDefault ? e.preventDefault() : e.returnValue = false;
}
},
keyUp : function (e) {
var key;
if(window.event)
key = window.event.keyCode; //IE
else
key = e.which; //firefox
var event;
event = e || window.event;
if ( key == 8 || key == 46 || key == 37 || key == 39 )
return;
else
event.target.value = event.target.value.replace(/[^0-9]/g, "");
}
};
}
]);