在验证之前从输入值中删除文本并提交
Remove literals from input value before validation and submit
>我有一个带有必填电话号码字段的表单,看起来像这样,带有屏蔽输入插件
(999) 999-9999
我希望jquery验证忽略文字以验证这一点。 另外,我希望在提交表单之前删除文字。 但是,如果存在验证错误,我仍然希望激活屏蔽输入插件,以便格式对用户来说仍然正确。
我想我可以编辑正则表达式以进行验证,但是当提交表单时,文字仍将在那里。
让我知道我需要更好地解释这一点。
有什么想法吗? 我对jquery很陌生,所有如此详细的解决方案都会很棒。
我的JavaScript代码是这样的
$(document).ready(function(){
jQuery.validator.addMethod("phoneUS", function(phone_number, element) {
phone_number = phone_number.replace(/'s+/g, "");
return this.optional(element) || phone_number.length > 9 &&
phone_number.match(/^(1-?)?('([2-9]'d{2}')|[2-9]'d{2})-?[2-9]'d{2}-?'d{4}$/);
}, "US Phone Number Required");
$("#valform").validate({
invalidHandler: function(form, validator) {
var errors = validator.numberOfInvalids();
if (errors) {
$("#error-message").show().text("Please correct the required field(s)");
} else {
$("#error-message").hide();
}
},
messages: {
phone: {
required: ""
}
},
rules: {
phone: {
required: true,
phoneUS: true
},
},
});
$("#phone").mask("(999) 999-9999",{placeholder:" "});
});
您可以在使用 js 提交表单之前删除其他字符
此代码将在输入后立即从输入中删除禁止字符。
输入字段具有类"数字"。这会将"keyup"事件绑定到该输入字段,并调用名为"handleInputKeyUp"的函数
$(".numbers").bind("keyup", handleInputKeyUp);
该函数:
function handleInputKeyUp(e){
var temp = e.currentTarget.value;
temp = temp.replace(/[^'d-]/g, "");
e.currentTarget.value = temp;
}
此代码从输入字段中删除除数字和 - 之外的所有内容。
相关文章:
- 单击文本时删除文本框的默认数据
- 使用删除文本创建新行
- 为什么jQuery正在删除文本的最后一个字符
- 在验证之前从输入值中删除文本并提交
- 如何使用jquery从父元素中删除文本(不删除内部元素)
- 删除文本区域中某个文本后出现的换行符
- javascript:删除文本中选定元素的标记
- <tspan>文本</tspan>如果没有定义id或类,如何删除文本
- 从网站中删除文本选择限制的脚本
- 如何防止用户删除文本输入中的前三个字符
- 粘贴文本时删除文本区域中的字符
- 如何在文本输入中插入删除图标并实现删除文本
- 在 Ckeditor 中,删除文本前后的 br 标签
- 如何在javascript中使用动态ID删除文本框
- 如何删除文本节点
- Javascript 焦点删除文本突出显示
- 添加或删除文本框,然后使用 PHP 或 jquery 获取它们的值
- 动态删除文本框
- 当处于活动状态时,我如何删除文本修饰.我有以下代码,但链接带有下划线
- 使用 Javascript 添加文本框后动态删除文本框