[英]how to allow only 1 forward slash in regex expression
我有正则表达式来检查字母数字输入 max 16 如下
^[a-zA-Z0-9]{0,16}$
我如何修改它以检查它应该只有 1 个正斜杠。 喜欢
aas/as12
12/萨德
您可以使用:
^(?!.{17})[a-z\d]+\/[a-z\d]+$
查看在线演示
^
- 起跑线锚;(?..{17})
- 负前瞻以防止 17 个字符(换行符除外)。 这可能更精确,您可能希望更改为 18,具体取决于您是否计算 16 个字母数字字符顶部的正斜杠。[az\d]+\/[az\d]+
- 1+ 个字母数字字符、单个文字正斜杠和 1+ 个字母数字字符。$
- 结束线锚。请注意,我使用了不区分大小写的匹配,这意味着您的 JS 模式将如下所示:
/^(?!.{17})[a-z\d]+\/[a-z\d]+$/gi
const regex = /^(?.;{17})[az\d]+\/[az\d]+$/i, [ "aas/as12", "12/saad". "/" ].forEach(s => console.log(`${s} --> ${regex.test(s)}`) )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.