Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ZipCode验证格式nnnnn-nnnn_Javascript_Html_Json - Fatal编程技术网

Javascript ZipCode验证格式nnnnn-nnnn

Javascript ZipCode验证格式nnnnn-nnnn,javascript,html,json,Javascript,Html,Json,ZipCode验证格式nnnnn-nnnn。当用户输入“-”时,它被计算为一个数字,它将从我所做的最大数字中去掉,即9,并且由于用户输入“-”,它将只允许8。如何跳过“-”而不是数字,并在此处输入正确的代码 function formatZipCode(value) { value = value.replace(/[^\/\d]/g,''); var Z = /(\d{5})(\d)/; if (value != undefined && value !

ZipCode验证格式nnnnn-nnnn。当用户输入“-”时,它被计算为一个数字,它将从我所做的最大数字中去掉,即9,并且由于用户输入“-”,它将只允许8。如何跳过“-”而不是数字,并在此处输入正确的代码

function formatZipCode(value) {
    value = value.replace(/[^\/\d]/g,'');
    var Z = /(\d{5})(\d)/;
    if (value != undefined && value != '') {
        return value = value.replace(Z, '$1' + '-' + '$2');;
    }
    else {
        return value;
    }
};

我将使用类似以下内容:

var z = /(\d{5})-?(\d{4})/
value = value.replace(z,"$1-$2")

连字符后的问号表示零或一个连字符。

如果用户输入的是HTML表单,则可以使用它通过以下方式验证邮政编码:

  • -消除字母和符号
  • min
    max
    属性-强制范围
  • -允许对
增加了验证数字的附加功能

第一个输入必须为10000到99999

第二个输入必须为1000到9999

片段

/*确保输入为5位和4位
||禁用提交按钮时
||没有满足要求。
*/
功能数字(num1、num2){
var n1=num1.长度;
var n2=num2.长度;
如果(n1==5&&n2==4){
zip['submit'].disabled=false;
}否则{
zip['submit'].disabled=true;
}
}
输入{
字体:继承
}
#z4{
宽度:6厘米;
}
#z5{
宽度:7厘米;
}
字段集{
宽度:13em;
}
传奇
[类型=提交]{
字体变体:小大写字母;
}

Zipcode
-

Random note:手动zipcode验证几乎总是一个坏主意。不同的地区有完全不同的Zipcode。我曾在NNN-NNNN、AAA-NNN或AA(A)?-AA(A)格式的地方生活/工作过?(A-字母数字)。除非你100%确定所有使用该应用程序的用户都可以使用所有zip格式,否则不要自己编写解析器。我100%同意,但这只是美国zipcode。所以应该是一样的。但我的观点是,当我输入“-”时,它会将数字缩短为8,因为它将被视为输入的一个数字。当输入“-”时,它是否会从最大值9算起。它的工作原理是一样的,但是当我输入“-”时,我的点会将数字缩短为8,因为它将被视为输入的一个数字。当输入“-”时,它是否会从最大9位数算起?我认为这是非常有效的@AnmarAlShammari您要验证是否有9位数字,带或不带连字符。如果用户输入了完整的垃圾,那么最好弹出一个警告。然而,使用您的初始替换(
value.replace(/[^\/\d]/g,”);
)您还可以将
/(\d{5})(\d{4})/
甚至
/^(\d{5})(\d{4})$/
做得非常迂腐。要么是这样,要么就是我们无法理解你想用“8和9位数”说什么(我承认我真的不知道你想用这一部分说什么)。所以我有一个zipcode文本框。我需要最大化输入10位数。当用户输入1234567890时,我需要它是12345-6789。我的问题也是,如果用户输入“-”如12-3456789,我需要它是12345-6789。现在,我的输入幸运地只有9位数字。无论我在html中对maxlength做了多少更改,它都不允许超过9。当用户输入12-345678时,“-”被计为一个条目。所以技术上我只有8个数字,不是9个!