javascript - 如何为 !this.value 添加值?

标签 javascript html keyup

我怎样才能给它增加值(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']).

  1. 我们根据输入创建一个数组(与上一步相同)。

  2. every 返回 true 如果数组的所有 元素都通过了测试,即:是当前字符 (原始字符串)包含在 allowedCharacters 数组中。如果有一个字符不是数字,我们返回 false

这也是一个不错的函数式编程练习。

注意:这在 Internet Explorer 上不起作用(因为那里不支持 includes)。

关于javascript - 如何为 !this.value 添加值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51790321/

相关文章:

javascript - 有没有办法在前端 Web 应用程序中使用 Twitter API?

javascript - Google Calendar API 权限不足

javascript - 无法将图像放到 Amazon S3 上

javascript - 当我 pushPage 到它时如何初始化子页面

javascript - 变量变量数据未发送到数据库中

javascript - 获取 HTML 并插入到 DOM 中,但相对于特定路径进行解析

jquery - ajax 调用 keyup()

javascript ecma6 将数组项转换为键值对的对象

jquery - 处理keydown和keyup [jquery]

javascript - 为什么 Tab 键按下导致焦点更改也会触发 keyup 事件?