我不是那种使用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>
答案 0 :(得分:0)
假设你的正则表达式对你所针对的国家是正确的,我会尝试这样的事情:
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所说,没有统一的正则表达式适用于每个国家的邮政编码。您应该确保阻止来自其他国家/地区的人提交表单。
希望这有帮助。
答案 1 :(得分:0)
此外,您应该添加一个简单的辅助功能增强功能:
<div class="field_container">
<label for="postcode">Post Code</label> <!-- the "for" attribute should match the "id" attribute of the input it corresponds to -->
<input type="text" name="postcode" id="postcode" />
</div>