使用 JQuery 防止电子邮件输入字段上的“”,“和”;“
Prevent "," and ";" on an email input field with JQuery
我想防止在Jquery的输入字段中使用","和";"。到目前为止,我一直在尝试这个解决方案:
.HTML:
<input name="txt_correu-e" type="text" id="gestio_usuaris_editaCompta_txt_correu-e" size="50" maxlength="50" class="">
JQUERY:
$('#gestio_usuaris_editaCompta_txt_correu-e').keypress(function (e) {
var filter = /([,;])/;
var campo = $("#gestio_usuaris_editaCompta_txt_correu-e").val();
if (filter.test(campo)) {
e.preventDefault();
}
});
但是对我不起作用,因为输入仍然打印字符,然后不会让我继续在输入中写入。我只是希望输入不显示这些字符,但让我继续编写电子邮件地址。
为了防止用户键入,
和;
,您可以简单地执行以下操作:
$("#target").keypress(function( event ) {
if ( event.which == 44 || event.which == 59 ) {
event.preventDefault();
}
// other instructions
});
编辑:
要验证电子邮件地址,您可以使用:
function is_valid_email(email) {
var regex = /^([a-zA-Z0-9_.+-])+'@(([a-zA-Z0-9-])+'.)+([a-zA-Z0-9]{2,4})+$/;
return regex.test(email);
}
您可以在文本字段上的任何所需事件( keyup, ... (中调用它。
您也可以使用 HTML5 电子邮件输入:
<form>
E-mail: <input type="email" name="email">
</form>
希望能有所帮助。
就像我在评论中所说的那样,没有必要使用 jQuery 或 JavaScript 来做到这一点,并且通过 keyPress
事件限制输入不是一个好的做法,因为任何人都可以复制和粘贴内容(即使有"邪恶"意图(。
以下解决方案将允许除","和";"之外的任何字符。当然,请记住,这还不足以确保电子邮件地址有效。
<form>
<input type="text" pattern="^[^,;]*$" required/>
<input type="submit">
</form>
http://jsfiddle.net/parvmck7/
如果您有疑问,请告诉我。
更新:我没有意识到您需要它与IE8兼容。如果是这种情况,您可以尝试使用任何HTML5 Polyfills(https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills#web-forms(。否则,JavaScript 将是。
$("#target").on('keyup click blur',function( event ) {
var regex = new RegExp('^([A-Z0-9_.+-])+'@(([A-Z0-9-])+'.)+([A-Z0-9]{2,4})+$/', 'i');
if(!regex.exec($(this).val())){
$(this).val("");
event.preventDefault();
});
为了避免插入不需要的字符,您应该收听 keyup 事件(键盘(,单击 event( 以防止右键单击和粘贴 ;:-包含文本(和模糊事件(如果已通过 TAB 键选择输入以粘贴 ;:-包含文本(。
有关其他邮件验证策略,请参阅 regular-expressions.info
- jQuery Wan Spinner插件的多个字段
- 如何根据文本长度立即显示和隐藏字段?-JQuery
- 针对各种选择框更改验证单个表单的特定字段-jQuery
- 为动态创建的字段jQuery创建一个函数或事件
- 提交多个输入字段 jQuery/PHP 的最佳方式
- 更改动态生成的输入字段 jQuery 的值
- 如何重置输入字段?jQuery.
- 如何根据字段名称在SharePoint显示窗体中隐藏字段(jQuery)
- 删除输入字段jQuery的内容
- 更改附加表行字段jQuery的名称
- 应用搜索字段jQuery同位素
- 自定义CSS错误类不应用于字段jquery验证器
- 在li元素的末尾添加一个输入字段.jQuery
- 如何绑定到浏览器更改输入字段?(jQuery)
- 我如何分离多个列表值与一个正方形和删除按钮(如hotmail "To";字段- jquery)
- 应用一个函数到一个克隆的字段(Jquery)
- 多选字段(Jquery Select2插件)
- 重置必填字段 - jQuery
- 条件字段 jQuery 库不适用于复选框
- 当标签'display:block'时,Javascript失去了对第一个无效字段(jQuery Val