Problem #1: I type often. My fingers know when I've made a mistake and correct it immediately. But on a number only input field I type 456A<del>7 and because the form wasn't letting me type letters I get just 457 instead of 4567. Now I have to correct yet another mistake that was forced on me
Problem #2: Delete almost never works correctly. There's a CC form [xxxx][xxxx][xxxx][xxxx]. I type want to type 123456789... I type 1235<del>4. I now have [1235][4...] instead of [1234][....]
Problem #4: Paste almost never works. I have my info somewhere. I copy 123456789... I paste I get [1234][....][....][....] or I copy 1234-5678-9... and paste and I get an error. "No dashes allowed" or I get some other crap.
Problem #5: Copy rarely works because I can't select all fields since they've been separated.
Problem #6: 95%-99% of the time tab goes to the next place in the form but many custom forms move to the next field automatically so I type a phone number 111-222-3333 and then press tab but because the custom form assumed the moment I typed the last 3 that it would be helpful to automatically go the next field I'm now two fields ahead.
You could possibly fix #2, #4 and #5 but I'd prefer just a blank field, no mucking with the input system. If you want to display some live status while I'm typing just outside the form on whether my input is correct or not yet that's fine but please don't mess up my typing muscle memory.
I'd be really curious if anyone has done any serious testing on these fancy custom input "helpful" forms vs simpler plain text areas.
Yet another is how about just accepting the user's input and checking if it could be what you need. For example when taking a CC card, let me type WWWWXXXXYYYYZZZZ or WWWW XXXX YYYY ZZZZ or WWWW.XXXX.YYYY.ZZZZ or WWWW-XXX-YYYY-ZZZZ or even WWWW XXXX YYYY ZZZZ. Check if you can turn that into 16 digits. If so assume it's correct. Don't force me to do it what's easy for the computer. I might have it in some other format and I want to copy and paste it. Or I might just find it easier to space out because I can then read it and more easily check for mistakes. For example accept a US phone number in XXX-YYY-ZZZZ instead of forcing me to XXXYYYZZZZ