这可能比我想要的更容易,但我想确定用户表单中的条目是否只包含字母字符作为“第一”字母。
示例用户输入:
<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/
答案 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;
}
}