Key Concepts

Review core concepts you need to learn to master this subject

Character Sets in Regular Expressions

Regular expression character sets denoted by a pair of brackets [] will match any of the characters included within the brackets. For example, the regular expression con[sc]en[sc]us will match any of the spellings consensus, concensus, consencus, and concencus.

Optional Quantifiers in Regular Expressions

In Regular expressions, optional quantifiers are denoted by a question mark ?. It indicates that a character can appear either 0 or 1 time. For example, the regular expression humou?r will match the text humour as well as the text humor.

Literals in Regular Expressions

In Regular expression, the literals are the simplest characters that will match the exact text of the literals. For example, the regex monkey will completely match the text monkey but will also match monkey in text The monkeys like to eat bananas.

Fixed Quantifiers in Regular Expressions

In Regular expressions, fixed quantifiers are denoted by curly braces {}. It contains either the exact quantity or the quantity range of characters to be matched. For example, the regular expression roa{3}r will match the text roaaar, while the regular expression roa{3,6}r will match roaaar, roaaaar, roaaaaar, or roaaaaaar.

Alternation in Regular Expressions

Alternation indicated by the pipe symbol |, allows for the matching of either of two subexpressions. For example, the regex baboons|gorillas will match the text baboons as well as the text gorillas.

Anchors in Regular Expressions

Anchors (hat ^ and dollar sign $) are used in regular expressions to match text at the start and end of a string, respectively. For example, the regex ^Monkeys: my mortal enemy$ will completely match the text Monkeys: my mortal enemy but not match Spider Monkeys: my mortal enemy or Monkeys: my mortal enemy in the wild. The ^ ensures that the matched text begins with Monkeys, and the $ ensures the matched text ends with enemy.

Regular Expressions

Regular expressions are sequence of characters defining a pattern of text that needs to be found. They can be used for parsing the text files for specific pattern, verifying test results, and finding keywords in emails or webpages.

Wildcards in Regular expressions

In Regular expression, wildcards are denoted with the period . and it can match any single character (letter, number, symbol or whitespace) in a piece of text. For example, the regular expression ......... will match the text orangutan, marsupial, or any other 9-character text.

Regular Expression Ranges

Regular expression ranges are used to specify a range of characters that can be matched. Common regular expression ranges include: [A-Z]. : match any uppercase letter [a-z]. : match any lowercase letter [0-9]. : match any digit [A-Za-z] : match any uppercase or lowercase letter.

Shorthand Character Classes in Regular Expressions

Shorthand character classes simplify writing regular expressions. For example, \w represents the regex range [A-Za-z0-9_], \d represents [0-9], \W represents [^A-Za-z0-9_] matching any character not included by \w, \D represents [^0-9] matching any character not included by \d.

Kleene Star & Kleene Plus in Regular Expressions

In Regular expressions, the Kleene star(*) indicates that the preceding character can occur 0 or more times. For example, meo*w will match mew, meow, meooow, and meoooooooooooow. The Kleene plus(+) indicates that the preceding character can occur 1 or more times. For example, meo+w will match meow, meooow, and meoooooooooooow, but not match mew.

Grouping in Regular Expressions

In Regular expressions, grouping is accomplished by open ( and close parenthesis ). Thus the regular expression I love (baboons|gorillas) will match the text I love baboons as well as I love gorillas, as the grouping limits the reach of the | to the text within the parentheses.

PHP filter_var function

In PHP, filter_var is a function that filters a variable with a specified filter.

As its first argument, filter_var() takes a variable. As its second, it takes an ID representing the type of filtering that should be performed. The third argument is optional and can be used to specify options for the filter.

There are several filters for sanitizing common input types, including FILTER_SANITIZE_EMAIL, which is a common filter that removes illegal characters for an email address.

Filters can also be used to validate that text matches a pattern. For example, FILTER_VALIDATE_EMAIL returns the variable if it contains only valid email characters. Otherwise, it returns false.

PHP preg_match function

In PHP, preg_match performs a regular expression match. The first argument is the pattern to match and the second argument is the variable to check. It returns 1 if it matches, 0 if it doesn’t, and FALSE if there was an error.

PHP strlen function

In PHP, strlen is a function that returns the length of the string passed in to it.

PHP preg_replace function

In PHP, preg_replace is a function that can replace portions of an input string based on a regular expression.

The first argument is the pattern to search for. The second argument is the new text to replace the pattern with. The third argument is the string to operate on.

PHP header function

The PHP header() function can be used to perform redirects.

We call the header() function on a string that begins with "Location: ", followed by the URL we want to redirect the user to. For example: "Location:". After invoking the header() function we’ll want to use the language construct exit to terminate the current script.

PHP htmlspecialchars function

In PHP, htmlspecialchars is a function that transforms special characters into HTML entities.

PHP trim function

The built-in PHP trim() function is used to remove whitespace from the beginning and end of a string.

Chevron Left Icon
Introduction to Form Validation
Lesson 1 of 3
Chevron Right Icon
  1. 1
    Modern websites require a lot of information to function as intended. Information like our usernames, passwords, “friends”, “likes”, credit card information, and shopping orders all have to be prov…
  2. 2
    Most data, once submitted, is stored by a website or web application. It’s stored in a database on the server side. There are important reasons for us to make sure the information that will be stor…
  3. 3
    Data submitted through forms are stored as strings. Strings are a fundamental data type in computer science representing a series of characters “strung” together. As humans, we can intuitively reco…
  4. 4
    The first technique we can use to validate form data is to prevent problematic inputs from being submitted in the first place. This is called client-side validation. The client is the process int…
  5. 5
    Client-side validation has two main advantages. First, it’s a better experience for the user to be alerted to problematic data immediately rather than having to wait for that information to come ba…
  6. 6
    No matter how complete the front-end validation of a website or application seems, validations must also be completed on the back-end or server-side. Front-end validations are easy to bypass—a mali…
  7. 7
    In this lesson, we’ve explored form validation from many angles. Let’s review what we covered: + Modern websites require a lot of information from their users and they collect a lot of this informa…
  1. 1
    When registering an account for a new social media app or completing an order for a gift online, nearly every piece of information you enter into a web form is validated. Did you enter a properly f…
  2. 2
    The simplest text we can match with regular expressions are literals. This is where our regular expression contains the exact text that we want to match. The regex a, for example, will match …
  3. 3
    Do you love baboons and gorillas? You can find either of them with the same regular expression using alternation! Alternation, performed in regular expressions with the pipe symbol, |, allows…
  4. 4
    Spelling tests may seem like a distant memory from grade school, but we ultimately take them every day while typing. It’s easy to make mistakes on commonly misspelled words like consensus, and on t…
  5. 5
    Sometimes we don’t care exactly WHAT characters are in a text, just that there are SOME characters. Enter the wildcard .! Wildcards will match any single character (letter, number, symbol or …
  6. 6
    Character sets are great, but their true power isn’t realized without ranges. Ranges allow us to specify a range of characters in which we can make a match without having to type out each ind…
  7. 7
    While character ranges are extremely useful, they can be cumbersome to write out every single time you want to match common ranges such as those that designate alphabetical characters or digits. To…
  8. 8
    Remember when we were in love with baboons and gorillas a few exercises ago? We were able to match either baboons or gorillas using the regex baboons|gorillas, taking advantage of the | symbol. Bu…
  9. 9
    Here’s where things start to get really interesting. So far we have only matched text on a character by character basis. But instead of writing the regex \w\w\w\w\w\w\s\w\w\w\w\w\w, which would mat…
  10. 10
    You are working on a research project that summarizes the findings of primate behavioral scientists from around the world. Of particular interest to you are the scientists’ observations of humor in…
  11. 11
    In 1951, mathematician Stephen Cole Kleene developed a system to match patterns in written language with mathematical notation. This notation is now known as regular expressions! In his honor, the…
  12. 12
    When writing regular expressions, it’s useful to make the expression as specific as possible in order to ensure that we do not match unintended text. To aid in this mission of specificity, we can u…
  13. 13
    Do you feel those regular expression superpowers coursing through your body? Do you just want to scream ah+ really loud? Awesome! You are now ready to take these skills and use them out in the wild…
  1. 1
    In this lesson, we’ll be using PHP to handle user input submitted through HTML forms. We’ll be performing form validations on the submitted data in order to protect our website and its users. …
  2. 2
    Throughout this lesson, we’ll be using a PHP file to present an HTML form to users. We’ll be using the POST method attribute for more secure input submission. This means all the data submitted wi…
  3. 3
    In the previous exercise, we simply displayed the user input we received. Now we want to provide the user with feedback if their input isn’t correct. We’ll validate (confirm the correctness of) t…
  4. 4
    In the previous exercise, we performed a simple validation to check the user’s input, but we made a mistake by directly displaying the data we received from them. Remember that we must never simply…
  5. 5
    We haven’t yet introduced the most powerful PHP function for sanitizing data: filter_var(). This function operates on a variable and passes …
  6. 6
    We can use the same filter_var() function to validate as well as sanitize! There are a number of provided validation filters, but th…
  7. 7
    The filter_var() function accepts an optional third argument that allows us to fine-tune the operation of a given filter. This argument, often called $options, takes the form of a nested associativ…
  8. 8
    We’ll often find the validations offered by built-in functions like filter_var() to be insufficient. When validating all but the simplest data, we’ll likely need to write our own, custom input vali…
  9. 9
    Because modern websites and web applications need to store a lot of data, they usually interact with databases on the back-end. A common type of custom validation involves comparing user input agai…
  10. 10
    In addition to sanitizing data that is displayed to the user, we always need to sanitize all data before storing it in our own databases. There are serious security concerns with storing data in a …
  11. 11
    In this lesson, we’ve learned some basic tools to validate HTML forms on the back-end using PHP. We learned how to send meaningful feedback to our users when their inputs are invalid. But what shou…
  12. 12
    Great work! We covered a lot in this lesson. Let’s review: + Performing back-end form validations on the data submitted is an essential step to protect our website and its users. + Using the POST…

What you'll create

Portfolio projects that showcase your new skills

Pro Logo

How you'll master it

Stress-test your knowledge with quizzes that help commit syntax to memory

Pro Logo