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
}
})