jimfog Posted June 18, 2012 Share Posted June 18, 2012 I want to validate the the field of a form in which the user will input his phone. So, what I must take into consideration. After some thinking, I realized that I must first be certain that the user has entered digits and not letters and second the digits must not be more or less than some number. WHat do you think? Are the above requirements sufficient or is there sth else also you want to add. Link to comment Share on other sites More sharing options...
niche Posted June 18, 2012 Share Posted June 18, 2012 (edited) Good thinking and it wouldn't be hard in plain php, but you might consider regular expressions. EDIT: There are considerably fewer ways to mess-up a phone number than an address. I suggest that you only allow numerics and limit entry to 10 digits. Edited June 18, 2012 by niche Link to comment Share on other sites More sharing options...
boen_robot Posted June 18, 2012 Share Posted June 18, 2012 Consider sanitizing the phone number first. That way, you'll allow users to input it with dashes, spaces or other stuff that they'd use when writing out numbers.How do you do the sanitization? Easy: a single regular expression with preg_replace() that replaces every non-digit character with nothing. But first, you may want to change the leading "+" with "00", so: $phone = preg_replace(array('/^\+/', '/\D/'), array('00', ''), trim($_POST['phone'])); You can do any validation you need (minimal length, acceptable country codes, etc.) after that, which at that point would be much easier. Link to comment Share on other sites More sharing options...
jimfog Posted June 19, 2012 Author Share Posted June 19, 2012 Βy passing the regular expression to the $phone, is $phone considered a string? Or $phone is considered a string anyway-regardless if there exists or not a regular expression? Link to comment Share on other sites More sharing options...
boen_robot Posted June 19, 2012 Share Posted June 19, 2012 You mean if $phone is a string, regardless of whether it matches the regular expression(s) or not?Yes, $phone is always a string. In this case, a string containing decimal numbers, and nothing more. If there's nothing to be replaced, $phone will be the same as the input (in this case $_POST['phone']). Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now