在PHP文本字段中:防止用户在小数点前输入3个以上的数字 例如:
如果用户输入123.12可接受, 如果用户输入12.12也可以接受, 但如果用户输入1234.12则不可接受。
请检查这个小提琴: http://jsfiddle.net/S6uky/
HTML:
<form method="post">
<div class="row">
<label>Val 1</label>
<input type="text" class="validate" name="val1" maxlength="5"/>
</div>
<div class="row">
<label>Val 2</label>
<input type="text" class="validate" name="val2" maxlength="5" />
</div>
<div class="row">
<label>Val 3</label>
<input type="text" class="validate" name="val3" maxlength="5" />
</div>
<div class="row">
<button type="submit">Send</button>
</div>
</form>
JAVA SCRIPT:
$(function(){
$('.validate').blur(function(){
var reg=/^[0-9]{1}[0-9]{1}[\.]{1}[0-9]{1}[0-9]{1}$/g;
if($(this).val().match(reg)==null)
alert('Invalid input!');
});});
答案 0 :(得分:1)
function isAccept(number){
return number.indexOf('.') < 4;
}
答案 1 :(得分:1)
试试这段代码:
<强> DEMO 强>
$(function(){
$('.validate').blur(function(){
var reg=/^[0-9]{0,3}[.][0-9]{0,2}$/g;
console.log($(this).val().match(reg));
if($(this).val().match(reg)==null)
alert('Invalid input!');
else
alert('valid input!');
});});
答案 2 :(得分:0)
以这种方式尝试.test()
:
$(function () {
$('.validate').blur(function () {
var reg = /^[0-9]{0,3}[\.]{1}[0-9]{0,2}$/g; //<---updated this
if (!reg.test(this.value)) {
alert('Invalid input!');
$(this).focus();
return false;
}
});
});
另一种方法是创建一个全局函数并将其用作回调:
function isValidInput() {
var reg = /^[0-9]{0,3}[\.]{1}[0-9]{0,2}$/g;
if (!reg.test(this.value)) {
alert('Invalid input!');
$(this).focus();
return false;
}
}
$(function () {
$('.validate').blur(isValidInput);
});