Search this site:


June 10, 2005 10:44 AM

Broken: Web forms that can't accept dashes

Why do e-commerce sites always say "no dashes or spaces" when you're typing in a phone number or credit card number? Isn't that something that could be fixed by, I don't know, a computer? It's just lazy programming to say that on a Web form.

Thanks to Sumana Harihareswara for pointing me to the "No Dashes Or Spaces" Hall of Shame.


I agree. This is something that always irked me. It's pure laziness on the part of the developers.

Posted by: Carlos Gomez at June 10, 2005 10:52 AM

The "e" in e-commerce should be for easy, not egregious. A few minutes of a programmer's time would save a lot of customer headaches.

Posted by: Joe at June 10, 2005 11:37 AM

Didn't this site used to be about things that were, you know, really broken?

Posted by: Matt T. at June 10, 2005 12:17 PM

I actually like not having to put in the dashes. It saves time and if I'm telling a Customer service rep my info over the phone (or vice-versa since I do tech-based customer service). Who says their phone number or SSN with the dashes? "No, that's 555 *dash* 1234"

Similarly, I really like the online forms that put in their own dashes or breaks and seamlessly jump to the next box as you type. Cingular has this for your phone number when you log on to your account.

Posted by: Danimal at June 10, 2005 03:21 PM

It should work either way. On the Wall of Shame, they give you the one line of code they'd need to make it work with or without hyphens.

Posted by: Bob at June 10, 2005 04:47 PM

I just had to jump in and agree with Matt and Danimal its easier not to use the dashes totally not broken

Posted by: kent at June 10, 2005 06:51 PM

"Similarly, I really like the online forms that put in their own dashes or breaks and seamlessly jump to the next box as you type."

I hate that. Typing X numbers of characters shouldn't jump me to a new field, just like selecting an item from a pop-up menu shouldn't initiate an action.

The best are the ones that do a Windows-esque separate field for each number when entering an IP address. You get jumped to the next field *if* the octet you type contains three digits. Less than that and you have to tab through manually. Inconsistent and pointless.

Posted by: Rob at June 10, 2005 09:27 PM

By forcing someone to not use dashes, or spaces, it can be difficult to validate the numers entered, especially for long credit card numbers. The point is that there is no need for this. One can EASILY design the input field to allow for dashes to be entered, or not entered at the customer's whim. In other words, the customer chooses which to do instead of forcing them to do one or the other.

Posted by: Carlos Gomez at June 11, 2005 07:24 AM

Carlos is correct: why not give both options. It's no big deal. I prefer dashes or separate boxes because it's easier to check as I type that I've entered the correct information (btw, that's the same reason there are spaces or dashes in the numbers in the first place: to break the numbers up into identifiable chunks).

To the posters who think it's not broken, it's like this, as on other posts: if a significant number of people get frustrated, then by the rules of customer service and good experience, it's broken. And don't say, 'well, people are stupid.' Even if that were true, then the business is in business to do business (!!!) with people, be they stupid or not.

Posted by: Michael McWatters at June 11, 2005 09:43 AM

this is very similar to the problem with AMEX's site:

Posted by: Paul Schreiber at June 11, 2005 09:27 PM

Point taken michael mcwatters and at no time I have questioned anyones level of intelligence at this blog.

but the main subject is to show things that are broken in this case its not a matter of confusing directions are something that doesn't functions its merely a preference.

I've been in business for 11 years and if we change something because a customer complains about it another customer will say why did they change it its stupid it was better before.

Posted by: kent at June 12, 2005 04:54 AM

I agree; it's stupid when you can't put your full, legal name on the mother gave me two first names, with a hyphen, and no middle name. Even the SS office has it wrong!

Posted by: CJ Lougee at June 12, 2005 06:43 AM


Actually, what you wrote is that 'it's easier NOT to use the dashes...'

That is your opinion. A large percentage of people do prefer to use dashes. So, my only point is, why not create a form that can accept either and allow the card validation to happen on the other end of the computer, not the user end?

For example, if you called customer service, and they required you to say your card number without pauses between each group of numbers, and each time you tried, they said, "please stop putting pauses in and just say all the numbers in one continuous stream," most people would agree that was pretty bad customer service.

The technology exists to allow the freedom to serve customers who want to enter dashes, and those who do not. Not implementing it is just lazy.

As to your last point, no offense, but that's just silly..."if we change something because a customer complains about it another customer will say why did they change it its (sic) stupid it was better before." No one is saying to change things for one person over another. We're saying to create a system that allows both customers to have it their way. Your logic in this last point would lead to the conclusion that you never fix anything for one customer because you might frustrate another customer. That's not a recipe for success.

Posted by: Michael McWatters at June 12, 2005 02:14 PM

I prefer to use dashes!

I totally agree with Mssrs. Gomez & McWatters.

Posted by: Bob at June 12, 2005 10:24 PM

It really doesn't matter if you have a dash , so why fret. What I would like to see are those sites that when you enter a number, why it just doesn't skip to the next box when there are three boxes listed.

Posted by: J Seals at June 13, 2005 07:05 AM


Posted by: JOhn at June 13, 2005 07:53 AM

Mr. O'Shea has pointed out another bit of laziness and/or bad design on the part of web forms. The restriction on apostrophes is primarily due to direct jamming of input data into SQL statements for storage in a database. Apostrophes are delimiters and screw things up if done this way. But unchecked data being jammed into a SQL statement is bad, and in fact dangerous.

Posted by: Carlos Gomez at June 13, 2005 09:54 AM

Mr. O'Shea, I share your frustration.

These days, I constantly get things addressed to Mr. Mcwatters (lower case 'w').

It made me think that if my family were to come through Ellis Island today, my name would be changed because the new resident induction software wasn't programmed properly.

I wonder if a generation or two down the road, people in my family will just give up on trying to have a capital 'w' in their name because every single thing they apply for, be it a college, a credit card, or a driver's license, lacks the ability to capitalize properly.

Posted by: Michael McWatters at June 13, 2005 05:42 PM

As a Web Development PM, I know it is irrelevant if it is easier with or without dashes or spaces or anything else. The site should handle it which ever way you (the customer) wants to enter it.

Posted by: john at June 14, 2005 06:07 PM

I have even come across the reverse: a web site where the DASHES WERE SIGNIFICANT!!!

A friend of mine booked a hotel for me on one of those hotel web sites (I can't remember if it was, or whatever). He didn't have my credit card number (duh!) so he made a provisional reservation and gave me the confirmation number over the phone. Of course, I am not too particular with dashes or pauses while writing down the number.

I called the toll-free number for the web site to confirm with the credit card. When I gave the operator the confirmation number she exclaimed "I'm missing a dash!" She steadfastedly insisted that she could not proceed because my dashes were not where she expected them to be. I told her to try every possible dash combination. :-)

Posted by: David Jones at June 14, 2005 09:41 PM

If dashes are to be allowed there would be need for a parser to parse the input and remove the dash, space and those things, as well as conditional statements to determine wether dash is inputed. If you store your data as integer value and customer keep entering string values, you will have to implements all these. It sounds like a easy thing to do, but many lower end form processing system doesn't come with one.

So I think this is not broken its only a matter of preference, my idea to compensate would be breaking up the imput into segments and write the dash on the webpage.

Posted by: desmond at June 21, 2005 07:25 PM

Note that line at the hall of shame require you to edit perl code, and most small e-business use out of a box ready to use credit card processor and have no knowledge in dealing with coding.

Posted by: desmond007 at June 21, 2005 07:29 PM

Comments on this entry are closed

Previous Posts: