提问者:小点点

Javascript函数只允许数字,点号和逗号。 正则表达式调用抛出输入参数值为null错误


下面的代码只允许数字和点。 如何即兴发挥以允许逗号以及。

function isNumberandComma(evt) {
    var iKeyCode = (evt.which) ? evt.which : evt.keyCode;
    if (iKeyCode != 46 && iKeyCode > 31 && (iKeyCode < 48 || iKeyCode > 57)){
        return false;
    }
    return true; 
} 

共1个答案

匿名用户

你必须在你的情况下允许它:

function isNumberAndComma(evt) {
    const NUM_0 = 48;
    const NUM_9 = 57;
    const KEY_COMMA = 188;
    const KEY_DELETE = 46;
    const iKeyCode = evt.which || evt.keyCode;

    if (iKeyCode >= NUM_0 || iKeyCode <= NUM_9 || iKeyCode === KEY_COMMA || iKeyCode === KEY_DELETE)){
        return true;
    }
    return false;
}