使用正则表达式

时间:2015-07-04 14:07:22

标签: javascript regex

我有一个只允许字符的表达式,也拒绝任何空格。

如何限制字符数,例如7个字符。我在输入字段上使用此函数作为键盘事件,虽然我可以使用maxlength属性,但是regex是我首选的方法。

event.target.value.replace(/[^a-zA-Z]/g, '');

2 个答案:

答案 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;
&#13;
&#13;

答案 1 :(得分:1)

您可以limit the characters repetition使用{}。例如,如果您想使用{7}匹配与[^a-zA-Z]匹配的7个字符:

[^a-zA-Z]{7}
  

还有一个额外的量词,可以指定令牌重复的次数。语法为{min,max},其中min为零或表示最小匹配数的正整数,max为等于或大于min的整数,表示最大匹配数。