删除最后输入的值 JavaScript

Delete last value entered JavaScript

我有 javascript 代码可以验证分配给它的任何字段的字母数字和破折号。正则表达式成功完成并显示错误消息。我想要发生的是在按下一个使正则表达式为真的键时,它会删除将其设置为真的变量(例如,如果有人在哪里按下 @ 键,它只会删除 @ 字符)。现在我把它设置为擦除整个字段。

function validateAlphaNumericField(field) {
    var value = field.value;
    var reg = /[^A-Za-z0-9-]/;
    var newVal = reg.test(value)

    if (newVal == true) {
        alert("This field must contain only alphanumeric and dashes.");
        field.value="";
    }
}

您可以按以下方式替换意外字符:

var value = field.value;
var reg = /[^A-Za-z0-9-]/;
return value.replace(reg,'');