正则表达式使用 bootstrap-validate.js 将输入值设置在 1 到 10 之间

Posted

技术标签:

【中文标题】正则表达式使用 bootstrap-validate.js 将输入值设置在 1 到 10 之间【英文标题】:Regex to set input value between 1 to 10 using bootstrap-validate.js 【发布时间】:2019-08-27 02:02:51 【问题描述】:

我想通过正则表达式验证输入我正在使用 bootstrap-validate.js https://bootstrap-validate.js.org/ 这是我的代码

它接受 0 到 11 我希望它是 0 到 10 它不接受 12、13 等等

<html>
<form id="rqStudent" enctype="multipart/form-data">
   <div class="form-group">
    <input type="text" name="b_marks" class="form-control" id="b_m" maxlength="2" required/>
    </div>
    <button type="submit" class="btn btn-primary col-md-12">Request</button>
</form>

<script src="js/bootstrap-validate.js"></script>
<script>
bootstrapValidate('#b_m', 'required|numeric:Please only enter numeric characters!|regex:^[0-10]+$:only 0-10 value acceptable');
</script>
</html>

【问题讨论】:

您的标题和正文的最小值相互矛盾。是 0 还是 1? 【参考方案1】:

使用正则表达式:

/^(?:10|[1-9])$/

for (let i=0; i<15; i++)
    console.log(i, /^(?:10|[1-9])$/.test(i) );

【讨论】:

收到此错误:SyntaxError: invalid regexp group【参考方案2】:

这是匹配单个数字或 10 的方法

/^(?:\d|10)$/

const result = ['0', '1', '5', '8', '10', '11', '15'].map(
    str => `$str is $str.match(/^(?:\d|10)$/) ? 'valid' : 'invalid'`
)

document.write(result.join('<br />'))

【讨论】:

收到此错误:SyntaxError: invalid regexp group

以上是关于正则表达式使用 bootstrap-validate.js 将输入值设置在 1 到 10 之间的主要内容,如果未能解决你的问题,请参考以下文章

java正则表达式的使用

正则表达式

PHP正则表达式的使用技巧

使用正则表达式进行搜索

使用正则表达式检测词组搭配

JavaScript 中使用正则表达式