所以我遇到了这个问题。我想要一个数字限制为15个字符,对于小数,我想要相同数字的3个字符。所以我的最终号码可以是最多15位数,但如果我想要"。"能够再添加3个小数。因此,只有当我有小数(3格言)时,我的数字才能大于15个字符。 希望我足够清楚。 感谢。
答案 0 :(得分:3)
您可以使用RegExp
/^\d{15}(?:\.\d{3}|$)/
匹配十五位数字,或十五位数字后跟.
后跟三位数字,然后是字符串结尾
var re = /^\d{15}(?:\.\d{3}|$)/;
console.log(re.test("1234567891.23456")); // false
console.log(re.test("123456789123456.123")); // true
console.log(re.test("12345678912345")); // false
console.log(re.test("123456789123456")); // true

在pattern
元素
<input>
属性
:invalid {
background: red;
}
&#13;
<input required pattern="^\d{15}(?:\.\d{3}|$)">
&#13;
答案 1 :(得分:1)
这应该是正确的:
根据OP的要求,可以有15个字符或11 +。+ 3 = 15个字符
:invalid {
background: red;
}
<input required pattern="(\d{15}$)|(\d{11}\.\d{3}$)">
答案 2 :(得分:1)
这是你想要的:
$("input").keydown(function(event){
var value=$("input").val();
if($.inArray(event.keyCode, [48,49,50,51,52,53,54,55,56,57,46,8, 9, 27, 13, 110,190])>=0)
{
if(value.length>=15)
{
if((event.keyCode==190 || value.indexOf(".")>0) && value.length<19)
{
return true;
}
else
{
return false;
}
}}
else
{
return false;
}
});