Jump to content

Check that word begins with specific letters


simonjk

Recommended Posts

Hi,

 

This is perhaps a bit of a simple one, but I am not sure whether it is a preg_match or strpos that I should use.

 

I have a form which is completed by the user. I want to check that in one of the form field entries the word they enter begins with E, L or B

 

I thought it might be built as a function, something like

function checkWord($word){

  return preg_match('/^E)(/^L)(/^B/'), $word) ? TRUE : FALSE;

 

Sorry if my attempt is laughable, can't seem to work this one out?

 

Any help appreciated.

 

Simon

I would suggest adding strtoupper() to make the solution case insensitive:

 

<?php
function CheckWord($word)
{
    return in_array(strtoupper($word[0]), array('E', 'L', 'B'));
}

echo CheckWord('Ewok')   ? 'Yes' : 'No';    // Yes
echo CheckWord('word')   ? 'Yes' : 'No';    // No
echo CheckWord('enough') ? 'Yes' : 'No';    // Yes
?>

 

 

Unless you only want to match uppercase letters.

Sorry guys, I perhaps should have been a little clearer with what I am trying to do.

 

The user will enter a code word ($icao) and this code is then to check that the word begins with an E, B or L.

 

I want to run the functions and if all is well post it to a variable.

 

This is the code I have (thanks to you). Does it look okay? I can't get it to work.

 

Thanks again,

Simon

 

 

 

function checkWord($icao)

    return in_array(strtoupper($icao[0]), array('E', 'L', 'B'), $ficao) ? TRUE : FALSE;

if(checkWord() != FALSE)

          {

        //If all is well we can  assign the value of POST field to a variable

                $userName = $_POST['userfcstarea'];

                }

        else

                {

        // if all is not well, we echo an error and exit the script

                echo 'Icao is invalid';

                exit();

                }

Code should have been...

function checkWord($icao)

 

 

<code>

    return in_array(strtoupper($icao[0]), array('E', 'L', 'B'), $icao) ? TRUE : FALSE;

if(checkWord() != FALSE)

          {

        //If all is well we can  assign the value of POST field to a variable

                $userName = $_POST['userfcstarea'];

                }

        else

                {

        // if all is not well, we echo an error and exit the script

                echo 'Icao is invalid';

                exit();

                }

</code>

function checkWord($icao)

    return in_array(strtoupper($icao[0]), array('E', 'L', 'B'), $ficao) ? TRUE : FALSE;

 

The body of a function definition needs to be enclosed in {..}s

in_array() returns true or false anyway so the ? TRUE : FALSE is redundant;

The third argument to in_array() is unnecessary (and if present should be true or false)

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.