我怎样才能给它增加值(value),让它只允许数字输入?
function validatemycode() {
$('datagroup').on('keyup', 'input[id^="datagroup_1"]', function () {
if (!this.value){
alert('Alert Message Here.');
}
})
}
最佳答案
无正则表达式的版本:
function validatemycode() {
$('datagroup').on('blur', 'input[id^="datagroup_1"]', function () {
if (!isValidInput(this.value)) {
alert('Alert message here.');
}
});
}
function isValidInput(value) {
var allowedCharacters = '0123456789'.split('');
return string.split('').every(function (char) {
return allowedCharacters.includes(char);
});
}
isValidInput
中发生的事情是:
1. 我们用 0123456789
(=['1','2','3','4','5','6','7', '8','9']
).
我们根据输入创建一个数组(与上一步相同)。
every
返回true
如果数组的所有 元素都通过了测试,即:是当前字符 (原始字符串)包含在allowedCharacters
数组中。如果有一个字符不是数字,我们返回false
。
这也是一个不错的函数式编程练习。
注意:这在 Internet Explorer 上不起作用(因为那里不支持 includes
)。
关于javascript - 如何为 !this.value 添加值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51790321/