Download presentation
Presentation is loading. Please wait.
1
Validation using Regular Expressions
2
Regular Expression Instead of asking if user input has some particular value, sometimes you want to know if it follows a particular pattern. For example, is it a phone number? The patterns are known as regular expressions. They can be confusing, but there are libraries of them – so you don’t have to come up with your own if your data follows a well-known pattern
3
PHP preg_match if(!preg_match("/[a-zA-Z]+/",$firstName))
4
if(!preg_match("/[a-zA-Z]+/",$firstName))
The simplest version of preg_match takes two arguments The first is a regular expression pattern that is placed between “/ and /” The second is the string variable in which one searches for the pattern The function returns true if the pattern is found, false if the pattern is not found The exclamation point ! Is the not operator – used here because we want to do something if the pattern is not found
5
The pattern: [a-zA-Z]+
The square brackets indicate a set of characters. The hyphen indicates a range. Thus this pattern is a-z or A-Z, in other words a small or capital letter. The + sign indicates that there should be one or more letters in the pattern But there can be other things in the pattern
6
Blocked
7
Let through
8
if(!preg_match("/^[a-zA-Z]+/",$firstName))
Adding the caret ^ indicates that the string variable should not just have a string of one or more letters but it should start with a string of one or more letters.
9
Blocked: Doesn’t start with letters
10
Allowed: starts with letters
11
if(!preg_match("/^[a-zA-Z]+$/",$firstName))
Adding the dollar sign $ indicates that the string variable should not just have a string of one or more letters but it should end with a string of one or more letters. So now it should begin and end with letters – nothing else is allowed. That may be too strong, it doesn’t allow for spaces, hyphens or apostrophes
12
Regular Expression library: http://regexlib.com
^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$
13
Testing a regular expression on the client side
function validateForm() { var firstName=document.getElementById("txtFirstName").value; var lastName=document.getElementById("txtLastName").value; var pattern = new RegExp(/^[a-zA-Z]+$/); if(! firstName.match(pattern)) alert("Please enter a proper first name."); return false; } else if(! lastName.match(pattern)) alert("Please enter a proper last name.");
14
var pattern = new RegExp(/^[a-zA-Z]+$/);
Declares a regular expression in JavaScript if(! firstName.match(pattern)) Determines whether the string variable firstName matches the pattern determined by the regular expression
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.