Javascript 特定范围内一个大写字母和一个数字的正则表达式

Javascript 特定范围内一个大写字母和一个数字的正则表达式,javascript,html,regex,Javascript,Html,Regex,我正在尝试编写javascript来验证网格坐标的表单值 网格有A到H和1到8,坐标以字母形式书写,后跟数字,如“A1”、“H8”、“B6”、“F3” 谁能给我一个正则表达式,它可以排除除坐标以外的任何东西 我尝试了以下方法: /^[A-H][1-8]$/ 基于我对正则表达式的了解非常有限,但还没有解决这一问题,您的正则表达式看起来是正确的,您可能希望通过以下方式使其更加健壮: /^\s*[A-H][1-8]\s*$/ 这应该匹配像“A6”或“B7”这样的东西,即使在开头或结尾有空格 测试re

我正在尝试编写javascript来验证网格坐标的表单值

网格有A到H和1到8,坐标以字母形式书写,后跟数字,如“A1”、“H8”、“B6”、“F3”

谁能给我一个正则表达式,它可以排除除坐标以外的任何东西

我尝试了以下方法:

/^[A-H][1-8]$/

基于我对正则表达式的了解非常有限,但还没有解决这一问题,您的正则表达式看起来是正确的,您可能希望通过以下方式使其更加健壮:
/^\s*[A-H][1-8]\s*$/

这应该匹配像“A6”或“B7”这样的东西,即使在开头或结尾有空格


测试regexp的一个非常有用的工具是:

您的regexp看起来正确,您可能希望通过以下方式使其更加健壮:
/^\s*[A-H][1-8]\s*$/

这应该匹配像“A6”或“B7”这样的东西,即使在开头或结尾有空格


测试regexp的一个非常有用的工具是:

为了确保字符串以“A”-“H”开头,后跟“1”-“8”,可以说
^[A-H][1-8]
,但可能还有更多内容。因此,您可以编写一个
*
来允许一些。要获取此内容,请在
之间编写此内容以构建一个组

^[A-H][1-8](.*$
如果一行匹配,您可以从第一组
$1
中获取范围后面的内容。确保你的正则表达式区分大小写

如果要防止与其他范围(如“B4 foo Bar bAzD7xxx”)的线匹配,则需要查看:

^[A-H][1-8]((?:(?![A-H][1-6])*)$

为了确保字符串以“A”-“H”开头,后跟“1”-“8”,可以说
^[A-H][1-8]
但随后可能会有更多的内容。因此,您可以编写
*
来允许一些内容。要获取此内容,请在
)之间编写它,以构建一个组

^[A-H][1-8](.*$
如果一行匹配,您可以从第一组
$1
中获取范围后面的内容。请确保您的正则表达式区分大小写

如果要防止与其他范围(如“B4 foo Bar bAzD7xxx”)的线匹配,则需要查看:

^[A-H][1-8]((?:(?![A-H][1-6])*)$

但这还没有解决
-请编辑问题,解释您期望的内容和看到的内容(使用相关的JS代码/示例)。正则表达式执行所描述的操作-匹配仅由一个字母组成的字符串,A到H,后跟一个数字,1到8-因此如果它“不起作用”问题不在于正则表达式本身。你能更具体地解释一下“还没有解决”的意思吗?你的正则表达式看起来是正确的,因此了解它是如何失败的(完全没有匹配,不正确的匹配,等等)可能会有用,也许可以查看使用它的代码。正则表达式说:查找一行开头(
^
)一个大写字母从“a”到“H”(
[a-H]
),后面是一个数字,范围从“1”到“8”(
[1-8]
),然后字符串必须是结尾(
$
),但这还没有解决
)-请编辑问题以解释您期望的内容和看到的内容(以及相关的JS代码/示例)。该正则表达式执行所描述的操作-匹配仅由一个字母组成的字符串,A到H,后跟一个数字,1到8-因此,如果它“不起作用”,问题不在于正则表达式本身。请您更具体地说明“未起作用”的含义,好吗?您的正则表达式看起来正确,因此了解它是如何失败的可能很有用(完全没有匹配,不正确的匹配,等等),可能会看到使用它的代码。正则表达式说:查找以大写字母从“a”到“H”(
[a-H]
)开头的行,后跟数字从“1”到“8”(
[1-8]
),然后字符串必须结束(
$
)这很好,我也需要这样的东西,thanks@RodolfoSccani:我认为
I
-标志使它不区分大小写!但必须有大写字母!@AndyU。你说得对,我已经更正了。谢谢这很好,我也需要这样的东西,thanks@RodolfoSccani:我认为
I
-标志使其完全以大小写插入好听!但一定有大写字母!@AndyU。你说得对,我已经更正了。谢谢