Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


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

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.

 

 

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