Javascript regex数字范围格式检查

javascript regex number range format check

本文关键字:格式 检查 范围 数字 regex Javascript      更新时间:2023-09-26

我想检查给定的输入是否是有效的整数范围。

[0-9]-{1}[0-9]

上面的正则表达式在某些情况下不起作用。

例子:
10//false。-按预期工作
10-20//正确。-按预期工作
H-g//false。-按预期工作
10-20-//正确。-应为false
10-20-30//true。-应为false

更新2:检查逗号(,)分隔的输入

现在相同的输入文本字段也可以允许以逗号(,)分隔的输入。例:10、20、30也可以。rangePattern = new RegExp('^[0-9]*,[0-9]*$');不允许我给出多于一个逗号。如何允许忏悔。

例子:
10年,20年有效。
10年,20年,30有效。
10年,20年,无效的。
10、20 - 30无效。

更新3:regex /^('d+,)*'d+$/不工作输入10…20如何解决这个问题?

解决:
{1} -只允许一次。
regex应为/^('d+,{1})*'d+$/

您的regex只检查子字符串/包含。

使用锚^:以。开头,$:以。结尾

/^'d+-'d+$/

解释:

    /: regex的分隔符
  1. ^:以
  2. 开头
  3. 'd+:匹配一个或多个数字
  4. -:匹配-文字
  5. $:以结尾
<

jsfiddle演示/strong>

<input onblur="alert(/^'d+-'d+$/.test(this.value))">

<

RegEx101演示/strong>


var rangePattern = new RegExp('/^[0-9]*-[0-9]*$/');
pass = rangePattern.test(rangeValue);

当你使用RegExp构造函数时,不需要/分隔符。

使用

var rangePattern = new RegExp('^[0-9]*-[0-9]*$');

更新2

匹配逗号分隔的数字:

/^('d+,+)*'d+$/g
<

RegEx101演示/strong>