数字标记字段验证

时间:2010-10-15 06:45:40

标签: javascript

我想要标记字段的数字javascript验证。 输入的标记应为5个,表示用户最多可输入5个不超过5个标记的标记。 标记可以是小数,如4.25 小数点后应该有2位数可以帮助我..

4 个答案:

答案 0 :(得分:1)

最简单的方法可能是value.toString().match(/^[0-5](\.\d{1,2})?$/)。通常,您希望避免使用正则表达式,但这将为您节省一些其他详尽的步骤来验证数字的格式。

答案 1 :(得分:1)

检查此代码 -

if( Number(str) < 0 || Number(str).toFixed(2) > 5 ) {
    //Throw error
}

其中str是您要验证的值。

答案 2 :(得分:0)

Mark: <input type="text" id="mark" onBlur="validateMark()">

function validateMark() {
    var val = document.getElementById('mark').value;
    if (!val.match(/^[0-5](\.\d{1,2})?$/)) {
        alert("Invalid mark: " + val);
    }
}

答案 3 :(得分:0)

输入字段长度

您可以设置输入字段的最大长度,如下所示:

<input type="text" maxlength="5" placeholder="12345" />

或者,如果您想要最多5个字符,1个分隔符和2个小数:

<input type="text" maxlength="8" placeholder="12345.12" />

javascript验证:

快速解决方案(允许使用逗号+点,maxlength = 5)

var value = "15,5";
if(!isNaN(parseFloat(value)) && value.length <= 5) {
    console.log('valid, continue');
}

如果您只想允许点,请添加额外的'isFinite'检查

var value = "145.5";
if(!isNaN(parseFloat(value)) && isFinite(value) && value.length <= 5) {
    console.log('valid, continue');
}

---请注意以下内容! ---

如果您的意思是只有第一个数字(不包括小数!)的最大长度为5,那么请忘掉上面的内容。

首先要检查输入是否为数字,然后强制使用两位数字。 最后你可以检查长度是低于还是等于8(5位+ 1分隔符+ 2小数= 8)

var value = "12345.58852"; // Input field (string)

if(!isNaN(parseFloat(value)) && isFinite(value) && parseFloat(value).toFixed(2).length <= 8) {
    console.log('valid, continue');
}

为了使其完整,这里有一个检查变量是否为数字的函数

(测试: http://jsfiddle.net/web_nfo/CBKwA/

function isNumeric(value, strict)
{
    var strict = (typeof strict == 'undefined' ? false : (strict == true ? true : false));
    if(strict && typeof value != 'number') {
        return false;
    }
    return !isNaN(parseFloat(value)) && isFinite(value);
}

如果你包含这个功能,你可以像这样重写最后一次检查:

if(isNumeric(value) && parseFloat(value).toFixed(2).length <= 8) {
    console.log('valid, continue');
}