I haven't rejected b; I merely asked a question about it. However, failing to catch 1.4 trunk and branch nightly users is pretty bad.
I think
if (ua.match(/rv:1\.(4|0)(\.\d)?\))/)) {
would be adequate. It will match "1.4)" or "1.4.1)" but not "1.4a" or "1.4rc1"
