Jump to content

[SOLVED] regular expression help!


robcrozier

Recommended Posts

Hi everyone, i will first of all make you aware that i am completely useless at regular expressions. 

 

What i'm trying to do, and what i hope one of you lot will be able to help me with is to validate a name that is submitted through a form.  Basically i want to ensure that the name only contains letters, nothing else.

 

Here's what i currently have


if (!preg_match("/[a-zA-Z]/", $var))

 

Now, it validates to a certain extent, however it allows you to enter things like semi colon's and apostrophe's etc in the middle of words.

 

Can anyone help??? Thanks!

Link to comment
https://forums.phpfreaks.com/topic/89728-solved-regular-expression-help/
Share on other sites

if (!preg_match("/^[a-z]$/i", $var))
{
    // Name not valid
}

 

Here are some others if you need them

- Letters and spaces: /^[a-z\s]$/i

- Letters, numbers, and spaces: /^[a-z0-9\s]$/i

- Anything but spaces: /^[^\s]$/i

 

I'm sure you can see the patterns now.

The suggestion above is very close, but that limits you to a single letter rather than multiples. Here is how you would modify it to work:

<?php
if (!preg_match('|^[a-z]+$|i', $name))
{
  // Name not valid
}
?>

 

The little "+" symbol makes sure that there are one or more letters provided.

The suggestion above is very close, but that limits you to a single letter rather than multiples. Here is how you would modify it to work:

<?php
if (!preg_match('|^[a-z]+$|i', $name))
{
  // Name not valid
}
?>

 

The little "+" symbol makes sure that there are one or more letters provided.

Haha, my bad...can't believe I didn't catch that.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.