<script type="text/javascript">
function clean(e){
var textfield = document.getElementById(e);
var regex = /[^a-z 0-9]/gi;
textfield.value = textfield.value.replace(regex, "");
}
</script>
<textarea id="ta" name="ta" onkeyup="clean('ta')" onkeydown="clean('ta')"></textarea>
你可以看到我的代码过滤了所有的字母字符,我希望实时这样做,但这段代码不起作用。请帮我解决这个问题。
答案 0 :(得分:1)
您可以使用以下方法删除所有字母(A-Za-z
):
function clean(e) {
var textfield = document.getElementById(e);
var regex = /[a-z]/gi; // all alphabet characters ignorecase
textfield.value = textfield.value.replace(regex, "");
}
您需要将您的JavaScript代码保存在html中的<script>
标记中,因为当它到达onclick="clean('ta')"
时,它还没有达到函数{{}的声明1}}然后抛出一个clean
(你在控制台中看到的ReferenceError
))
答案 1 :(得分:0)
我该怎么办?
修改现有正则表达式以更新此/[a-zA-Z]/gi
以忽略大写和小写字母字符。
我可以 validate 你的正则表达式
<textarea id="ta" name="ta" onkeyup="clean('ta')" onkeydown="clean('ta')"></textarea>
function clean(e) {
var textfield = document.getElementById(e);
var regex = /[a-zA-Z]/gi;
textfield.value = textfield.value.replace(regex, "");
}
希望这对你有帮助!