检测第一个字母字符

时间:2014-04-05 15:28:23

标签: php if-statement

这可能比我想要的更容易,但我想确定用户表单中的条目是否只包含字母字符作为“第一”字母。

示例用户输入:

<input type="text" name="faa_id" size="50" value="<?php echo $_POST['faa_id']?>" />

示例表单处理

$faa_id = trim(strtoupper($_REQUEST['faa_id']));

if $faa_id = "string with any character except "N" in the FIRST position" {
   show URL-1; }

 else {
   show URL-2; }

上下文:    数据将是飞机注册号。通常我们以我们的形式输入它们而没有默认的“N”(即345FR,而不是N345FR),但并非所有注册号都以N开头。

例如,EJA345是代替通用N#的飞机呼号,而不是注册号或C-YEHE,这是加拿大注册号码)

我知道如何删除第一个字母,如果它是“N”但我不知道如何检测第一个字母是否是字母。

我想我需要先确定第一个字符是否是字母字符     然后检查它是否是“N”。

如果不是“N”,则为URL 1,但如果是“N”则为URL 2

我的代码会对与此类似的网址进行硬编码:

示例URL-1     http://www.trackmyflight/N

示例URL-2     http://www.trackmyflight/

4 个答案:

答案 0 :(得分:2)

您可以将字符串视为数组:

if ($faa_id[0] != "N")
{
    // do your show URL-1; 
}

答案 1 :(得分:0)

您可以使用正则表达式:

$char = "A";

echo preg_match('/[A-Z]/',$char); // true

检查$ char是否等于一个信用卡。

答案 2 :(得分:0)

你也可以尝试这个

echo preg_match('/[A-Z-[N]]/',$faa_id[0] ); // true

答案 3 :(得分:0)

尝试使用正则表达式,它是为查找表达式的字符串而设计的(REGularEXpressions):

$pattern = '/^[nN].*$/';

您可以在regexr.com上查看。 只需键入一个以N开头(或不是)的单词,然后将图案放在“表达式”

之后的框中

在PHP中,您可以使用http://php.net/preg_match进行检查。 代码应如下所示:

$temp = preg_match($pattern, $faa_id)
if($temp === false)
{
   //If an error occurs
}
else
{
   if($temp == 0)
   {
     return URL1;
   }
   else
   {
     return URL2;
   }
}