我对 JavaScript 没有那么丰富的经验,并且我已经尝试了一段时间,让此表单在用户单击提交按钮时以错误的格式输入邮政编码时显示警报消息。到目前为止,我所取得的成就是我将所有内容都放在一个验证所有字段的函数中,我使用名称来引用函数内部的字段。 (抱歉,如果我没有正确缩进)
var g=document.forms["myform"]["postcode"].value;
if (g==null || g=="")
{
alert("Please enter your Post CODE");
return false;
}
var regPostcode = /^([a-zA-Z]){1}([0-9][0-9]|[0-9]|[a-zA-Z][0-9]
[a-zA-Z]|[a-zA-Z][0-9][0-9]|[a-zA-Z][0-9]){1}([ ])([0-9][a-zA-z][a-zA-z]){1}$/;
if(regPostcode.test(postcode) == false)
{
alert("That Post Code is incorrect");
return false;
}
这是我使用的表单内特定字段的 HTML
<div class=”field_container”><label>Post Code</label><input type=”text” name="postcode" id="postcode" /></div>
最佳答案
假设您的正则表达式对于您所针对的国家/地区来说是正确的,我会尝试这样的操作:
var g = document.forms["myform"]["postcode"].value;
var regPostcode = /^([a-zA-Z]){1}([0-9][0-9]|[0-9]|[a-zA-Z][0-9]
[a-zA-Z]|[a-zA-Z][0-9][0-9]|[a-zA-Z][0-9]){1}([ ])([0-9][a-zA-z][a-zA-z]){1}$/;
if (!g)
{
alert("Please enter your Post CODE");
return false;
}
if (!g.match(regPostcode))
{
alert("That Post Code is incorrect");
return false;
}
正如@Shiplu所说,没有统一的正则表达式适用于每个国家的邮政编码。您应该确保您想要阻止居住在其他一些国家/地区的人提交表单。
希望这有帮助。
关于javascript - 如何使用 JavaScript 验证此表单上的邮政编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9344071/