正则表达式使用 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 之间的主要内容,如果未能解决你的问题,请参考以下文章