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 < str.length; i++) {mychar = str.charAt(i)if (chars.indexOf(mychar) == -1)newstring += mychar}return newstring}

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.

See also  How College Students Can Shape the Future of Tech Responsibility

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist