Reformat User-Entered Data Before You Validate

Reformat User-Entered Data Before You Validate

If you expect a user to enter a numerical value in a text box, you’ll want to do some data validation on the number. But suppose he’s included a dollar sign in the front of an otherwise legitimate dollar amount, or interspersed parentheses, spaces, or dashes in among the digits of his phone number? One solution is to reformat the entered string, removing the characters that might have been inadvertently included, and then go on to test the string for a legitimate numerical value. There are several reformatting methods you could use; one generic approach is to use a function like stripChars, below:

 function stripChars(str, chars) {var ivar newstring = ""for (i = 0; i 

The stripChars function accepts two parameters: the input string in 'str', and a string made up of all the specific characters you want removed in 'chars'. The function loops through each character in the input string. Using the String method indexOf, it checks to see if the character is contained within chars; if it's not, the character is added to a new string variable, 'newstring'. Recall that the String method indexOf returns a -1 if the substring isn't found in the referenced string. When the function is done, it returns the reformatted string.

For example, suppose the user had entered a phone number, (716) 555-1436, in a text box named 'phone'. If we called stripChars(phone.value, "() -" ) the function would return the string 7165551436.


Share the Post: