Javascript 特定范围内一个大写字母和一个数字的正则表达式
我正在尝试编写javascript来验证网格坐标的表单值 网格有A到H和1到8,坐标以字母形式书写,后跟数字,如“A1”、“H8”、“B6”、“F3” 谁能给我一个正则表达式,它可以排除除坐标以外的任何东西 我尝试了以下方法: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
/^[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。你说得对,我已经更正了。谢谢