在输入字段中使用子字符串

Using substring within input field

本文关键字:字符串 输入 字段      更新时间:2023-09-26

我正在使用充当键盘输入的 ID 扫描器,我希望输入字段来侦听值和子字符串(或切片)不必要的额外值。

目前,ID 扫描程序的格式如下:;708089113=0184?

我只想抓住708089113。我想删除分号和 3 之后的所有内容。

我只是不确定如何自动执行此操作。在提交之前,剥离的值应显示在字段中。

Javascript:

var suid = document.getElementById("SUID").value;
var stripSUID = suid.substring(1,10); 
document.getElementById("SUID").value = stripSUID;

.HTML:

<input name="SUID" id="SUID" type="text" value="">

JSFiddle Link

你可以使用 jQuery。

.HTML:

<input name="suid" id="suid" type="text" value="">

JavaScript:

$(function() {
    $('#suid').change(function() {
        var suid = $(this).val();
        var stripSUID = suid.split('=');
        var stringLength = stripSUID[0].length;
        var returnValue = stripSUID[0].substr(1, stringLength);
        $(this).val(returnValue);
    });
});

jsFiddle 更新:http://jsfiddle.net/jhjr288o/4/

所以你在问如何监听<input>的变化

var elm = document.getElementById('SUID');
elm.addEventListener('change', function (e) {
    var s = this.value, i = s.indexOf('=');
    if (i !== -1) {
        s = s.slice(1, i);
        this.value = s;
    }
});

演示

元素失去焦点
时触发更改事件每次oldvalue !== newvalue时都会触发输入事件(即对于键入的每个字符)


另请注意,此代码必须在 Element 存在后运行,即等待 Window 的加载事件