首页 > 解决方案 > 如何验证仅包含特定字母和数字的字符串?

问题描述

我想验证包含字符的字符串A, BX& Y. 字符 A 和 B 后面必须跟数字,但 X、Y 不应该。

// correct 
"A11X",
"A45YA1X",
"A1XXA999YYA1",

// Not correct
"A1A1AAX12",
"1A1Y32A1",
"CA1A1",
"A1C1",

我正在使用以下正则表达式命令。

$flags = PREG_SET_ORDER;
        preg_match_all('/A|B(\d+)|.+/i', trim($command), $operations, $flags);

如果字符串正确,则必须返回 true,否则应返回错误消息。

标签: phpregex

解决方案


你可以使用这个正则表达式:

^(?:[AB]\d+|[XY])+$

正则表达式演示

  • A此正则表达式使用匹配字母或B后跟 1+ 数字或使用交替匹配字母X或的非捕获组Y

  • 该组重复 1 次或多次,以允许在整个字符串中重复此子模式。


推荐阅读