![](/img/trans.png)
[英](Javascript) How can I seperate a string based on an if statement that checks for a number?
[英]How can I modify this JavaScript regex that checks if a string is a number that must have maximum 2 decimal digits?
我在JavaScript正则表达式中是个新手,并且遇到以下问题。
进入我正在处理的JQuery脚本中,我有以下正则表达式,它似乎检查variazioneAnticipo变量中的值是否为十进制数:
var variazioneAnticipo = $("#variazioneAnticipo").val();
if (/^[0-9]+(\.[0-9]+)?$/.test(variazioneAnticipo)) {
..................................................
..................................................
DO SOMETHING
..................................................
..................................................
}
我认为这意味着以前的正则表达式对可以连接到的0到9(数字的整数部分)的数字串联反应为true 。 符号(小数点分隔符),后跟由0到0(小数部分)的数字组成的任何字符串。
因此它将接受字符串为:
105或105.1或105.12或105.1231243123123123131231
好的,如何修改以前的正则表达式以仅接受表示最大2个十进制数字的字符串?
因此,例如:
必须接受105
105.1必须被接受
105.12必须被接受
但:
105.123不能被接受
在\\.[0-9]
。旁边添加重复或范围量词。
^[0-9]+(\.[0-9]{1,2})?$
[0-9]{1,2}
应该匹配一位或两位数字。
尝试将pattern
属性与RegExp
^\\d+$|^\\d+\\.\\d+{2}$
, this.checkValidity()
$("#variazioneAnticipo").on("input", function() { if (this.checkValidity()) { $("label").html(""); var variazioneAnticipo = $(this).val(); console.log(variazioneAnticipo ,this.checkValidity()); } else { $("label").html("invalid input") } })
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"> </script> <input id="variazioneAnticipo" class="rightAlligned form-control" style="width: 60%" type="number" step="0.01" min="0" value="${progetto.impAcc}" pattern="^\\d+$|^\\d+\\.\\d+{2}$"/> <label></label>
下面的表达式仅匹配最多2个十进制数字的数字。
^\d+(?:\.\d{1,2})?$
要获得更好的解释, 请单击此处
如果要自定义,只需修改重复范围即可 。 例如:
修改N和/或M以更改可接受的十进制数字范围。
^ \\ d +(?:。\\ d {N,M})?$
修改N和/或M以更改可接受的整数范围。
^ \\ d {N,M}(?:。\\ d {1,2})?$
遵循将相关的正则表达式应用于javascript test()指令的代码段。
function testRegex(){ var data = $("#digits").val(); if(/^\\d+(?:\\.\\d{1,2})?$/.test(data)) alert("It's ok"); else{ alert("Sorry, it's not a valid input"); } }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input type="text" id="digits" /> <button onclick="testRegex();" type="button">Test it</button>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.