首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检测第一个字母字符

检测第一个字母字符
EN

Stack Overflow用户
提问于 2014-04-05 15:28:23
回答 4查看 260关注 0票数 2

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

示例用户输入:

代码语言:javascript
复制
<input type="text" name="faa_id" size="50" value="<?php echo $_POST['faa_id']?>" />

示例表单处理

代码语言:javascript
复制
$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“(即345 N.,而不是N345FR),但并非所有注册号都以N开头。

例如,EJA345是一个飞机呼号,它代替了通用的N#,而不是注册号或C,它是加拿大的注册号码)

我知道如何去掉第一个字母,如果它是"N“,但我不知道如何检测第一个字母是否字母。

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

如果不是"N",则URL 1,但如果它是"N“,则URL 2

我的代码将硬编码如下所示的URL:

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

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

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-04-05 15:59:36

尝试regex,它是为查找表达式字符串(REGularEXpressions)而创建的:

代码语言:javascript
复制
$pattern = '/^[nN].*$/';

您可以在regexr.com上查看它。只需键入一个以N开头(或不使用)的单词,并将模式放在“表达式”后面的方框中。

在PHP中,您可以使用匹配检查它。代码应该如下所示:

代码语言:javascript
复制
$temp = preg_match($pattern, $faa_id)
if($temp === false)
{
   //If an error occurs
}
else
{
   if($temp == 0)
   {
     return URL1;
   }
   else
   {
     return URL2;
   }
}
票数 0
EN

Stack Overflow用户

发布于 2014-04-05 15:30:29

可以将字符串视为数组:

代码语言:javascript
复制
if ($faa_id[0] != "N")
{
    // do your show URL-1; 
}
票数 2
EN

Stack Overflow用户

发布于 2014-04-05 15:32:20

您可以使用正则表达式:

代码语言:javascript
复制
$char = "A";

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

这将检查$char是否等于一个大写字母。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22882864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档