Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: Web
Expertise: Intermediate
Apr 26, 2000



Building the Right Environment to Support AI, Machine Learning and Deep Learning

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 i
var 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.

Manoj K.
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date