Why is this shameful practice so common?
unixwiz.net
unixwiz.net
You see, the user likes to be sure: when the site works the way (s)he expacts, the user is happy. When it doesn't, the user gets frustrated. When the program gives the user text field of arbitrary length without giving explicit instructions how to fill it (i.e. "no dashes or spaces") the user might be just a bit afraid if the computer will parse the number correctly.
Credit card number is sensitive financial information, and people are not likely to be comfortable with making second guesses about entering it. Probably the freedom of entering the 16 digits the way user wants just doesn't outweigh the benefit of knowing that the site will behave the expected way by any significant margin?
Or those programmers (designers?) might just be incompetent.
P.S The "4 text boxes" solution (with or without auto jumping to the next field) might survive because of the same reason too: It elegantly reminds you about the format of data you are allowed to enter, so you can be sure that your input is parsed all right.
Here's a single line of python that removes any character that isn't a digit from the string "s":
re.sub(r'[^\d]', '', s)
Wow, that was almost too easy. Now the user can put spaces, dashes, periods, underscores... who cares! Oh, and if they put in the CSV code or something at the end... re.sub(r'[^\d]', '', s)[0:16]
A single line should cover 99% of the problems the user can create. Compliment it by giving an example of how the number should be input and... done.You see errors like that everywhere you look on the web, though much more at big corporations than at startups. Startups tend to eat their own dogfood, which greatly reduces that, though not entirely.
However, it would be nice to think that we could automagically correct spaces/dashes etc. in CC numbers and transition directly to a confirmation page.
I wonder if translation of CC numbers is verboten by any payment gateways?
Wondering if anyone uses a payment gateway which prohibits this..
Burn in usability hell..
My bank fixed this bug, but for years they would display the credit card balance with a $ and a comma for more than a thousand; $1,234.56. But could I paste "$1,234.56" into the amount field when paying the balance off? Noooooo, "$" and "," are illegal characters!
Call me crazy, but when I speak to you in your own language, I want you to understand what I'm saying :-)
That being said, there are some places where you can type in a date and it accepts a wide variety of formats, including the format it displays on its own pages. Rumour has it that some team-lead-type-guy proposed that as a bug fix, was shot down, coded it himself, and it waited in queue for a month or two before there were QA resources available to make sure it worked.
The feature is still pretty rough, really just a demo. But as a proof of concept, it's not too bad. For now, you can reduce your deposit balance and another account's balance automatically goes up by the same amount, in real time.
My buddy was in a bit of a hurry, so he hard-coded the target account--the one that rises--to be his own personal account. But he says that you can try teh feature out and send him feedback.
Amazing how quickly those folks cotton on to helping customers.
There are many sites that give no instruction as to how we are supposed to enter our credit card info. One can assume two possibilities: 1) The programmer of the site was ready, willing and able to parse multiple input types and simply strip out spaces, dashes, etc, or 2) I'm going to enter my credit card number into this page in a fashion not expected by said programmer and my much coveted Scarface Special Edition DVD will never show up at my door...
Just tell me what format you want so I can have some peace of mind and not have to decide which method is the best.
Do they literally mean no validation? Can't even check to see and strip any non-numeric characters? No luhn algorithm?
Also, how would they know? :p
I've seen ecommerce documentation billed as having examples in Perl, PHP and Java. What they meant was some of the examples were in each language and you needed experience with all three to get something working.