使用文本框获取数组元素(JS验证)

时间:2014-03-18 19:44:47

标签: javascript jquery validation textbox

我正在从带有文本框的用户处获取整数数组的元素。所以文本框应该只允许数字数据和逗号。

5,12,4,53,3,0,1之类的东西是可以接受的。

我只是禁止除commanumericbackspace以外的所有密钥:

    function ControlForArray() {
                if ((event.keyCode >= 48 && event.keyCode <= 57) || 
                     event.keyCode == 44 || 
                     event.keyCode == 8) 
                {
                    event.returnValue = true;
                    return true;
                }
                else {
                    event.returnValue = false;
                    return false;
                }
            }

重点是,我还需要防止一个接一个地输入多个逗号。并且最后一个值应为数字(当文本框点击未聚焦或提交按钮时)。

在这种情况下:也不应允许5,3,,45,3,4,

如何使用js或jquery执行此操作。谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

使用此RegExp例如:

/[\d*,]*\d/g

示例http://jsfiddle.net/bbuecherl/d6txG/(这是所有原生javascript,不需要jQuery)

答案 1 :(得分:0)

要求最后一个值应该是一个数字在这里有点棘手,所以我决定建议采用两步法:

var re = /[0-9]{1,2},?/g;
var str = "5,12,4,53,3,0,1";
var myArray = str.match(re);
console.log(myArray);
typeof(parseInt(myArray[myArray.length-1])) === "number"  // you can use an if statement here