Javascript 正则表达式匹配卡代码输入
如何编写正则表达式来匹配遵循这些规则的字符串Javascript 正则表达式匹配卡代码输入,javascript,regex,Javascript,Regex,如何编写正则表达式来匹配遵循这些规则的字符串 1个字母后接4个字母或数字,然后 5个字母或数字 3个字母或数字,后跟数字和下列符号之一:!&@ 我需要允许输入为15个字符的字符串或3组5个字符,由一个空格分隔 我正在用JavaScript实现它。应该是这样的: /^[a-z][a-z0-9]{4} ?[a-z0-9]{5} ?[a-z0-9]{3}[0-9][!&@?]$/i 如果您认为合适,可以使用\d随意更改0-9和[0-9]。 正则表达式非常简单,可读性很强^和$确保这是一个
- 1个字母后接4个字母或数字,然后
- 5个字母或数字
- 3个字母或数字,后跟数字和下列符号之一:!&@李>
/^[a-z][a-z0-9]{4} ?[a-z0-9]{5} ?[a-z0-9]{3}[0-9][!&@?]$/i
如果您认为合适,可以使用\d
随意更改0-9和[0-9]。正则表达式非常简单,可读性很强
^
和$
确保这是一个完整的匹配,因此代码前后没有额外的字符,/i
标志允许大写或小写字母。我将以字母开头
注意量词(如
{N}
)和字符类(如[a-zA-Z]
)我不打算为您写出整个正则表达式,因为这是家庭作业,但这里有一些提示可以帮助您:
- 使用字符类<代码>[A-Z]匹配所有大写字母<代码>[a-z]匹配所有小写字母<代码>[0-9]与数字匹配。您可以像这样组合它们
[A-Za-z0-9]
- 使用像
这样的量词,所以{n}
会给出3个大写字母[A-Z]{3}
- 可以将其他字符放入字符类中。假设你想匹配%或@或#,你可以做
来匹配这些字符中的任何一个[%@#]
- 某些元字符(在正则表达式上下文中具有特殊含义的字符)需要像这样转义:
(因为\$
与行尾匹配)$
和^
分别匹配行首和行尾$
匹配空白,但如果您对输入进行了清理,则不需要使用此选项\s
- 正则表达式后的标志做特殊的事情。例如,在
中,/[a-z]/i
忽略大小写李>i
^[a-zA-Z][a-zA-Z0-9]{4} ?[a-zA-Z0-9]{5} ?[a-zA-Z0-9]{3}[\!\&\@\?]$