【发布时间】:2020-01-20 08:59:27
【问题描述】:
我正在尝试构建可以验证数字或范围输入的正则表达式。 允许的值为
- 1 到 1816 之间的任何数字
- 由 2 个数字组成的范围,用 - 分隔。每个数字必须介于 1 和 1816 之间。例如“1-1816”、“3-100”、“1815-1816”
无效值包括
- “0”
- 负数(如“-13”)
- 前导零的数字(如“01”)
- 数字超出范围 1-1816(单独或作为范围的一部分)
任何正则表达式都可以是 JavaScript 或 C#。
到目前为止,我想通了
(?<=\s|^)\d+(?=\s|$)
【问题讨论】:
-
使用像
(\d{1,4})(-\d{1,4})?这样的正则表达式从字符串中提取数字。在此之后将此数字解析为 int 并使用正常的if语句检查它们的范围
标签: javascript c# regex