Это мой текущий код удаляет все не-числовые символы, кроме $, запятых и точек от входа, когда в качестве типов пользователей:Запрещенные символы в форме ввода?
<input type="text" id="price" name="price" onkeyup="updatePrice(this.value)">
function updatePrice(p) {
document.getElementById("price").value = p.replace(/[^0-9$.,]/g, '');
}
Проблема заключается в том, что она удаляет символы после ввода их, так что если вы наберете вы видите его на долю секунды, прежде чем он исчезнет. Keydown не подходит, поскольку он запускает скрипт до того, как вход действительно изменится.
Как я могу полностью предотвратить появление этих запрещенных символов на входе?
как насчет OnKeyPress? – Thilo
Возможный дубликат [javascript limit text input characters] (http://stackoverflow.com/questions/5534346/javascript-limit-text-input-characters) – Thilo
просто помните, что это не будет запрещено запрещать пользователю отправлять их на сервер, поэтому вам также придется обрабатывать недопустимую сторону сервера ввода –