Как проверить почтовый индекс в этой форме, используя JavaScript? - PullRequest
1 голос
/ 18 февраля 2012

Я не очень разбираюсь в 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>

Ответы [ 2 ]

0 голосов
/ 30 июля 2014

Кроме того, вы должны добавить простое улучшение доступности, например:

<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>
0 голосов
/ 04 марта 2012

Предположим, что ваше регулярное выражение верно для страны, к которой вы стремитесь, я бы попробовал что-то вроде этого:

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, не существует единого регулярного выражения, которое будет работать для почтовых индексов для каждой страны. Вы должны убедиться, что хотите заблокировать отправку форм людьми, живущими в других странах.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...