通过文本框获取数组元素(JS验证)
Getting Elements of an Array with a Textbox (JS Validation)
我用一个文本框从用户获取一个整数数组的元素。因此,文本框应该只允许数字数据和逗号。
类似5,12,4,53,3,0,1
的是可以接受的。
我只是禁止除comma
、numeric
和backspace
以外的所有键:
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,,4
或5,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
相关文章:
- JS验证ajax返回的html中的表单数据
- 页面上的2个表单带有JS验证-其中一个抛出电子邮件验证错误
- validate.js验证数组元素
- sinon.js验证mock方法's带回调的参数
- 如何使用angular js验证ionic中的表单
- 表单元素值更改后的角度 JS 验证
- JS验证后空联系表单
- 使用parsley.js验证动态创建的字段
- 使用Angular.js验证表单输入的原始状态
- Angular.js验证消息未显示
- Magento-全局添加额外的js验证规则
- 如何使用angular js验证器执行下拉控件验证
- 使用javascript gen_validatorv4.js验证表单字段
- 当 openssl 命令行验证签名时,节点.js验证函数不会验证签名
- JS验证在正常速度下失败,但在单步执行代码时有效
- 欧芹.js验证未触发
- JS验证错误,表单仍在提交
- Angular Js:验证表中的重复对象键
- 使用角度 js 验证电话号码
- Yii2 - i18n 表示 js 验证消息中的 {属性}