javascript - 查找文本框中输入的第一个字符

标签 javascript validation xmlhttprequest keylistener keyevent

我坚持实现以下内容:

  1. 用户开始在文本框中输入内容。
  2. 页面上的 JavaScript 捕获输入的第一个字符,验证它是否为英文字母(a-z、A-Z)并将其转换为小写(如有必要)。
  3. 根据输入发出 XMLHttp 请求(即,如果第一个输入字符是 a,则获取 a.xml,如果 b 则获取 b.xml,依此类推)。

我知道如何执行最后一部分(发出 xmlhttp 请求),但我有点坚持如何捕获第一个字符并验证它(以适用于所有浏览器的方式)。请指导。谢谢。

说明:这是为了创建类似自动完成下拉菜单的 Google Suggest,而不需要服务器端程序。

最佳答案

这样的事情应该有效:

HTML:

<input type="text" id="myField" />

在 JS 中:

window.onload = function() {
    document.getElementById('myField').onkeyup = function() {
        // Validate that the first letter is A-Za-z and capture it
        var letter = this.value.match(/^([A-Za-z])/);

        // If a letter was found
        if(letter !== null) {
            // Change it to lowercase and update the value
            letter = letter[0].toLowerCase();
            this.value = letter + this.value.substring(1);

            // Do the request
        }
    }
}

我的 vanilla-JS 技能有点生疏,但这应该可以解决问题。只是为了见鬼,这里使用 jQuery 是一样的:

$(function() {
    $('#myField').keyup(function() {
        var letter = $(this).val().match(/^([A-Za-z])/);

        // If a letter was found
        if(letter !== null) {
            // Change it to lowercase and update the value
            letter = letter[0].toLowerCase();
            $(this).val(letter + $(this).val().substring(1);

            // Do the request
        }
    });
});

关于javascript - 查找文本框中输入的第一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2268245/

相关文章:

javascript - 突然禁止设置 XMLHttpRequest.responseType?

javascript - 如何在 JQuery 中检索 div 的高度?

javascript - 强制停止java脚本执行函数

javascript - 如何在 JavaScript 中旋转色调

JavaScript:查找嵌套[引用]

ruby-on-rails - 无需密码即可更新 `User` 属性

javascript - Javascript 中如何创建、合并和销毁 xmlhttprequest 对象

javascript - 使用字符串上的日期对象将字符串转换为 json

validation - 如何将多类分类后得到的结果映射到1和0

javascript - 需要一个延迟函数javascript