在textarea中替换数字模式和电子邮件

时间:2014-09-02 08:33:50

标签: jquery html regex

我希望我的textarea字段的验证方式不会连续包含大于四位的数字,并且无法输入电子邮件。我已经能够限制电子邮件但需要帮助才能使用该号码验证。任何人都可以指导我的过程。 限制电子邮件进入文本区域的验证是:

$('#text area').change(function() {
  $(this).val( function(idx, val) {
     return val.replace(/\b(\w)+\@(\w)+\.(\w)+\b/g, "");
  });
});

我想要数字验证的帮助。

2 个答案:

答案 0 :(得分:1)

(?=\d{1,4}$)^\d+$

这应该只验证4位数。你可以使用它来收集你的电子邮件正则表达式。

参见演示。

http://regex101.com/r/sA7pZ0/14

编辑。

使用

(?!\b(?:\w)+\@(?:\w)+\.(?:\w)+\b)(?=\d{1,4}$)(^\d+$)

参见演示

http://regex101.com/r/sA7pZ0/18

答案 1 :(得分:1)

首先,并非#text area不是有效ID,而且,例如,当您剪切或复制/粘贴时,更改事件将不适用。这将删除长度为4的数字和有效的电子邮件地址(以及其他不会受到伤害的内容)

$('#example').on('input propertychange', function() {
    $(this).val($(this).val().replace(/\d{4,}|\S+@\S+\.\S+/g,''));
});

小提琴:http://jsfiddle.net/xghqnf5o/4/