I don't know if this is an issue with React or IE11 but when an the input initially contains an EN-dash (8211) it fires the change event. 
JSFiddle http://jsfiddle.net/uH539/10/

var isInputEventSupported = false;
if (ExecutionEnvironment.canUseDOM) {
  
  
  
  
  isInputEventSupported = isEventSupported('input') && (
    !('documentMode' in document) || document.documentMode > 11
  );
}
/**
 * (For IE <=11) Replacement getter/setter for the `value` property that gets
 * set on the active element.
 */
var newValueProp = {
  get: function() {
    return activeElementValueProp.get.call(this);
  },
  set: function(val) {
    
    activeElementValue = '' + val;
    activeElementValueProp.set.call(this, val);
  },
};
/**
 * (For IE <=11) Starts tracking propertychange events on the passed-in element
 * and override the value property so that we can distinguish user events from
 * value changes in JS.
 */
function startWatchingForValueChange(target, targetInst) {