Edit in JSFiddle

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, "");
        }
      };
  }
]);
<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>