不接受0-0-0的正则表达式是什么
What will be the regex that not accept 0-0-0?
我想写一个正则表达式,它可以接受以下几点,
1-格式应为x-y-z
2-x、y和z应该是数字。
3-x可以是任何数字。
4-y不能超过20。
- z不能超过272
6-x,y,z不能同时为0。
我写了一个正则表达式,实现了前5点。正则表达式是
^([0-9]+)-([0-9]|1[0-9])-([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-6][0-9]|27[0-2])$
但它也接受0-0-0,这是不应该接受的。有没有办法避免0-0-0?
您可以在^
之后的开始处添加一个(?!0+-0+-0+$)
负前瞻来锚定它:
^(?!0+-0+-0+$)([0-9]+)-([0-9]|1[0-9])-([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-6][0-9]|27[0-2])$
查看regex演示
如果整个字符串仅包含0
s和-
s,则(?!0+-0+-0+$)
将无法匹配。
var re = /^(?!0+-0+-0+$)([0-9]+)-([0-9]|1[0-9])-([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-6][0-9]|27[0-2])$/;
var strs = ['1-19-44', '0-0-0', '0-0-6'];
for (var s of strs) {
document.body.innerHTML += s + ": <b>" + re.test(s) + "</b><br/>";
}
相关文章:
- JavaScript中的正则表达式应该是什么
- 不接受0-0-0的正则表达式是什么
- 匹配某个字符后所有文本的正则表达式是什么
- 什么将是日期格式的正则表达式'dd-M-y'
- 我应该使用什么正则表达式来验证数字模式
- 什么'用这个正则表达式查找URL是错误的
- 什么正则表达式模式将从包含的外部HTML文本中提取内部HTML
- 需要使用什么正则表达式将内容插入某些字符的第 n 次出现之间
- 不是以正则表达式结尾的特定单词
- 我可以使用什么正则表达式来查找简单的正则表达式
- 将新行转换为段落/br HTML 标签,这可以是单个正则表达式吗?
- 用什么正则表达式来确定<或比;是HTML标记的一部分
- jQuery使用什么正则表达式进行电子邮件验证?
- 我将使用什么正则表达式来表示07X XXXX XXX作为一个数字
- 我应该使用什么正则表达式来获取css类的内容并存储它们?
- Javascript:这是使用正则表达式替换字符串多个部分的正确方法吗?
- 什么是" -混合;正则表达式中的平均值
- 什么正则表达式匹配":&"
- 我应该使用什么正则表达式来匹配此日期模式:DAY.month.YEAR
- 什么是jquery正则表达式来匹配这个字符串“http://path/to/file/file-name-123x123