Textarea使用javascript验证

时间:2014-03-26 14:19:57

标签: javascript html regex

如何使用纯Javascript而非Jquery验证以下textarea?任何人都可以帮助我。

<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>

2 个答案:

答案 0 :(得分:1)

尝试类似:

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

答案 1 :(得分:0)

此正则表达式仅匹配有效字符串:

/^[\w,-]*$/

如果不允许使用空字符串,请使用+而不是*。