通过文本框获取数组元素(JS验证)

Getting Elements of an Array with a Textbox (JS Validation)

本文关键字:JS 验证 数组元素 获取 文本      更新时间:2023-09-26

我用一个文本框从用户获取一个整数数组的元素。因此,文本框应该只允许数字数据和逗号。

类似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做到这一点。谢谢你的帮助。

使用这个RegExp的例子:

/['d*,]*'d/g

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

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

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