Jquery验证与SSN Regex,屏蔽输入和依赖
Jquery Validation with SSN Regex, Masked Input and Depends
我遇到了麻烦,让Jquery验证工作与以下规则
我用SSN格式屏蔽了字段,验证必须不允许在没有完整SSN的情况下提交此信息。我有一个工作的正则表达式函数,拒绝非ssn。我需要它不允许空白提交以及(掩码仅适用于如果字段是onFocus)。最后但并非最不重要的是,如果另一个复选框被选中(#noSSN),该字段是不需要的。
我已经添加了一个JSfiddle页面来帮助:http://jsfiddle.net/B2UpW/3/
似乎在小提琴页面上工作有点不同。希望这对你有帮助!
编辑:我还没有收到任何回复…你对我的问题有什么疑惑吗?任何建议,以帮助找到一些援助是欢迎的!$("#ssn").mask("999-99-9999");
$.validator.addMethod("notEqual", function(value, element, param) {
return this.optional(element) || value !== param;
}, "Please choose a value!");
$("#applicantForm").validate({
rules: {
ssn: {
notEqual: "___-__-____",
required: {
depends: function(element) {
return ($("#ssn").val() == ""
|| isValidSSN($("#ssn").val())
|| $("#noSSN:unchecked"));
}
}
}
},
messages: {
ssn: 'Please enter a social security number.'
}
});
function isValidSSN(value) {
var re = /^([0-6]'d{2}|7[0-6]'d|77[0-2])([ '-]?)('d{2})'2('d{4})$/;
if (!re.test(value)) { return false; }
var temp = value;
if (value.indexOf("-") != -1) { temp = (value.split("-")).join(""); }
if (value.indexOf(" ") != -1) { temp = (value.split(" ")).join(""); }
if (temp.substring(0, 3) == "000") { return false; }
if (temp.substring(3, 5) == "00") { return false; }
if (temp.substring(5, 9) == "0000") { return false; }
return true;
}
网站所有者,请停止使用上面来自jammypeach或Stephen S.的代码。一些有效的ssn被它们的regexp拒绝。
见http://www.socialsecurity.gov/employer/randomization.html
以前未分配的区域号码被引入分配
自2011年6月以来,在该线程创建之前,ssn可以以"773"及以上开头。
请将([0-6]'d{2}|7[0-6]'d|77[0-2])
替换为'd{3}
-现在因为你的缘故我必须亲自去银行;-)
您只需要添加一个复选框来查看复选框是否被选中。
查看更新后的代码,在第9行(或下面代码中的第2行)左右检查SSN是否有效:
$('#submitApplication').live('click', function() {
if ($('#noneSSN').is(':checked'))
{
alert("SUCCESS");
}
else
{
var isValid = $("#applicantForm").valid();
if (isValid) {
alert("SUCCESS");
}
}
return false;
});
如果复选框被选中,它现在将允许提交,否则它将要求一个正确的SSN
不太清楚到底是什么出了问题…
我看到了一些东西:
-
notEqual
是什么?这是你添加的方法吗? 在附加方法脚本中有一个叫做 你们的
depends
的目的是什么?添加规则required
来检查值是否为空,添加规则isValidSSN: true
来执行您自己的SSN验证仅在未选中复选框时使用
depends
(或required: function(element) { return $("#noSSN").is(":unchecked"); }
)应用规则
pattern
的方法。- 如何为jQuery屏蔽输入插件创建一个允许字母数字、空格和重音字符的掩码
- 使用javascript在HTML中屏蔽输入
- 带有jQuery和屏蔽输入插件的手机掩码
- 在jQuery中屏蔽输入 - 不使用库
- 屏蔽输入插件 jquery
- 如何在黑莓浏览器上屏蔽输入
- 正则表达式屏蔽输入
- JQuery 屏蔽输入插件不适用于区号
- 捕获 jQuery 屏蔽输入的输入更改
- 如何使 JQuery 屏蔽输入插件在 Ajax 更新面板中的异步回发后 asp.net 工作
- 特殊的点屏蔽输入 HTML-JavaScript
- jQuery屏蔽输入插件无法处理表单输入
- 屏蔽输入插件出现问题
- 使用jQuery从右到左屏蔽输入
- 具有默认值的屏蔽输入插件
- 屏蔽输入插件
- Jquery屏蔽输入光标胡萝卜自动在错误的位置
- 在文本框上用javascript屏蔽输入
- Jquery验证与SSN Regex,屏蔽输入和依赖
- 如何启用在屏蔽输入插件中插入空格