I am using the digitalbush masked input jQuery plugin. It is working fine in web browsers and the iPhone browser perfectly, but it is not working for Android mobile devices.
I resolved this issue with three actions, which have fixed this for all Android 4.0+ phones:
type="tel" to the input, to trigger the numeric keyboardmaxlength attribute or set it to a value certain not to interfere with the caret action, like 20.