javascript - 带有 javascript 验证的文本区域

标签 javascript html regex

如何使用纯 Javascript 而不是 Jquery 验证以下文本区域?任何人都可以帮助我吗?

<script>
function val()
{
    // 1. only allowed alphanumeric characters, dash(-), comma(,) and no space
    // 2. alert if person is trying to input not allowed chars as in 1.
} 
</script>

<form>  
    <textarea name="pt_text" rows="8" cols="8" class="input" onkeydown="return val();"></textarea>
</form>

最佳答案

尝试如下:

document.querySelector('.input').onkeypress = function validate(e) {
    if (String.fromCharCode(e.keyCode).match(/[\w,-]/) == null) {
        alert('not allowed');
        e.preventDefault();
    }
};

DEMO

编辑:正如tenub指出的,\w也允许_,因此将正则表达式修改为:/[A-Za-z0-9, -]/

DEMO

关于javascript - 带有 javascript 验证的文本区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22663835/

相关文章:

javascript - JS 下拉菜单未关闭?

javascript - 为什么我处理数组的方法在 ECMA6 的类中不起作用

jquery - 为什么文字大小没有增加?

html - CSS 网格行不动?

php - 数字或特定数字的正则表达式

regex - 使用awk计算并打印正则表达式得到的值的平均值

javascript - 为每个不同的选项卡更改窗口的 URL

javascript - 选择-选择多选 - 根据第一个的 selected.count 禁用第二个选择

html - 使用 float left 和左边距用 Items 填充 div

python - 为什么这个正则表达式匹配给出这个结果?