articlecavern.com articlecavern.com
Search:    Main Page :> About Us :> Security & Privacy :> Terms of Use :> Add Url :> Add Article   
Get 3 way links
 

Medical Care

Culture & Art

Government & Politics

Internet & Computers

People & Communities

Technology & Science

Games & Play

Business & Services

Children

Eating & Drinking

Relationship & Lifestyle

Outdoor & Sports

Garden & Home

Shopping & Auction

Recreation & Entertainment

Issues & News

Hotels & Travel

Finance & Investment

Fitness & Health

Academics & Education

Jobs & Careers

Self Healing

Vehicles & Automotive

Estate & Realty


 

  Main Page › Internet & Computers › Web Design & Development
   
 

Form Checking - Verifying Name Using PHP Ereg

   

Author: Bernard Peh

One important use of Regular Expressions (Regex) is to verify fields submitted via a form. In this article, we attempt to write an expression that is able to verify the user's first name, middle name, last name or just names in general.

The expression should allow names such as "Mary", "Mr. James Smith" and "Mrs O'Shea" for example. So the challenge here is to allow spaces, periods and single quotation marks in the name field and reject any other characters.

Elimination Technique

We try to identify and detect all illegal characters in the name field. I came up with the following list:

Punctuations: ~`!@#$%^&*()=+{}|:;<>"/?,

Numerics: 0-9

Noticed that I left out the empty space ( ), period (.) and single quotation mark (') because we are allowing these 3 characters to pass the verification. In other words, the verification will fail if the name field contains any of the punctuations or numerics above.

The Regex

Now, the hardcore part. The regex pattern I came up with is as follows:

([[:digit:]]|[~`!@#$%^&*()_=+{}|:;<>"/?,]|[|]|-)+

Let me briefly explain what this pattern means. The expression can be represented by:

(expression1 | expression2 | expression3 | expression4 | expression5)

What we are trying to do here is to match the name field to the patterns in expression 1, 2, 3, 4 or 5. If you look at the regex closely, you will see that expression1 is actually [[:digit:]].

Expression2 is:

[~`!@#$%^&*()_=+{}|:;<>"/?,]

Noticed that I added a backslash () before each of the 5 characters "()+|". By backslashing these characters, I am telling the function to treat the characters as it is and not as special built-in characters. For example, the brackets "()" actually means grouping in regex but if I backslash it, ie "()", it simply means that I want to match "(" and ")".

Expression3 is "[", expression 4 is "]" and expression 5 is "-". We left out the 3 characters "[]-" in expression2 just to avoid confusion because we already used "[]" as the outer brackets. As for "-", we left it out because it is normally used as a range within the brackets "[]", like so [A-Z].

Implementation

To implement it in PHP, we write the code as follows:

$pattern = '([[:digit:]]|[~`!@#$%^&*()_=+{}|:;<>"/?,]|[|]|-)+';
$name = stripslashes({$_POST['name_field']});
if (ereg($pattern,{$_POST['name_field']})) {
echo "write your error message";
}

We stripslashed the name field just in case your have magic quotes turned on. If magic quotes is turned on, the single quotation mark will be passed as ' instead just '. The ereg function will look for digits and illegal punctuations in the $_POST name field. If an error is found, we can do something such as alerting the user of the error.

Conclusion

Hopefully, this article can give you some insight into regex and save you some time when verifying name fields. You can modify the regex to have stricter rules for example, you may not want the name field to start with a space or a period. That's all for now. Cheers.

Author Bio:

Bernard Peh

Bernard Peh is a great passioner of web technologies and one of the co-founders of Sitecritic.net Site Reviews. He works with experienced web designers and developers for more than 5 years, developing and designing commercial and non-commercial websites. During his free time, he does website reviews, freelance SEO and PHP work.

You can also reach this article by using: web site development, web design & development, website development tampa
 
 
 

Related Articles

 
Online or Offline, Price Comparison Tools Help Consumers Shop Smart Using Mobile Phones
 
How To Have A Successful Links Exchange Campaign
 
Rant and Rave About Google
 
Override Evasion Software for Telematic UAVs
 
Intrusion Prevention - IT Risk Management
 
Wireless Antenna's: 6 Reasons to Use a Directional Antenna
 
Mobile Phone Users in UK : Mobile Games
 
Are You A Spam Zombie?
 
Basic Website Design Service
 
Class Actions For Overheating Laptops - Justified Or Not?
 
 
 
 
 

What Exactly is Spam?

Spam is the term used to designate commercially oriented, unsolicited, bulk electronic messaging and ... - Matt Bacak
 

Reinvest For Success

Many people when they start to make some money online make the mistake of spending any profits they ... - James Woolley
 

$10-$15k Per Month On Ebay? The Changing Face Of Online Selling

Dropshippers have altered the way sellers do business on the internet. Move over corporate America! ... - Chris Yarbrough
 
 

Online Casino Affiliate Programs: The Ins and Outs

The Internet is full of thriving industries, generating billions of cyber dollars for real life peop ... - Blake Stevenson
 

Spectacular Traffic Improvement Using Inbound Links

Important inbound links are the key of a successful website. Its style, products list, offers, but f ... - Allyn_Cutts
 
 
Main Page :> Security & Privacy :> Terms of Use
Copyright © 2006, www.articlecavern.com