php - 如何验证仅包含特定字母和数字的字符串?
问题描述
我想验证包含字符的字符串A
, B
。X
& 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,否则应返回错误消息。
解决方案
你可以使用这个正则表达式:
^(?:[AB]\d+|[XY])+$
A
此正则表达式使用匹配字母或B
后跟 1+ 数字或使用交替匹配字母X
或的非捕获组Y
。该组重复 1 次或多次,以允许在整个字符串中重复此子模式。
推荐阅读
- css - 如何在 React 中从物化中启用弹出菜单?
- python - 谷歌云语音到文本 python 示例不起作用
- android - 将广播接收器包装到流中(协程)
- c# - 无法使用 selenium 选择字段
- git - 用 git 插入 #ifdef(如 diff -D)
- xml - 带有 XSLT 的 VBA 可以在同一行中漂亮地打印带有结束标记的 XML
- python - flask_appbuilder - 未安装 python-ldap 库
- javascript - React Native:如何在 Typescript 中结合组件道具和导航道具?
- python - ValueError:logits 和标签必须具有相同的形状 ((32, 1) vs (32, 2))
- .net - IdentityServer4 User.Identity.Name 为空