如果在javascript函数中不起作用

sim*_*ifo -2 javascript validation jquery numbers

我使用此函数来验证一个输入元素:

function validerInput(qte, qtemax) {
    var floatRegex = /^((\d+(\.\d *)?)|((\d*\.)?\d+))$/;
    if (floatRegex.test(qte.value)) {
        var a = qte.value;
        var b = qtemax;
        if (a > b) {
            alert('if qtemax : ' + qtemax + ', qte : ' + qte.value);
            qte.value = '';
        }
        else {
            alert('else qtemax : ' + qtemax + ', qte : ' + qte.value);
        }
    }
    else {
        qte.value = '';
    }
}
Run Code Online (Sandbox Code Playgroud)

但问题始终是启动其他人的警报,第一个从来不知道问题

你有什么主意吗 :

启动的警报包含例如234和5.66

Ant*_*ist 8

valueinput元素的属性存储为字符串,因此如果要将其视为数字,则需要将其转换为数字.你也可能有类似的价值问题qtemax,这是不可能的.按字母顺序比较字符串"234"在"5.66"之前,然后在数字上它(更多)更大.使用parseFloat功能:

var a = parseFloat(qte.value),
    b = parseFloat(qtemax);
Run Code Online (Sandbox Code Playgroud)