我有一个只允许字符的表达式,也拒绝任何空格。
如何限制字符数,例如7个字符。我在输入字段上使用此函数作为键盘事件,虽然我可以使用maxlength属性,但是regex是我首选的方法。
event.target.value.replace(/[^a-zA-Z]/g, '');
答案 0 :(得分:2)
您可以设置最小/最大字符数,例如:/[^a-zA-Z]{7,}/g
。
但是,我发现你只想接受字母和最多7个字符,你可以只使用.substr(0,7)
,你可以这样做:
document.querySelector("input").onkeyup = function(event){
event.target.value = event.target.value.replace(/[^a-zA-Z]/g, '').substr(0,7);
}

<input type="text" value="" />
&#13;
答案 1 :(得分:1)
您可以limit the characters repetition使用{}
。例如,如果您想使用{7}匹配与[^a-zA-Z]
匹配的7个字符:
[^a-zA-Z]{7}
还有一个额外的量词,可以指定令牌重复的次数。语法为{min,max},其中min为零或表示最小匹配数的正整数,max为等于或大于min的整数,表示最大匹配数。