AngularJS Live Example

HTML

<script src="http://code.angularjs.org/angular-1.0.0rc5.min.js"></script>
<div ng-app="upperApp">
  <span ng-controller="ctrl">
    <!-- This works: -->
    <input type="text" ng-model="mac" ng-change="upper(mac)">
    <!-- this does not when you add ng-pattern -->
    <input type="text" ng-model="mac" ng-change="upper(mac)" ng-pattern="mac_regex">
</span>
</div>

JavaScript

var app = angular.module('upperApp', [])
app.controller('ctrl', function($scope) {
	$scope.mac_regex = '^([0-9A-F]{2}){6}$';  // MAC Address regex for validation
  $scope.upper = function(mac) {
    $scope.mac = mac.toUpperCase();  // Make every character uppercase
  }
})