Я пытаюсь сделать поле ввода (телефон) необязательным, но проверено по австралийскому номеру телефона.
<div>
<label for="contactPhone">Your Phone: </label>
<input type="phone" class="form-control eform__phone"
id="contactPhone" name="phone"
placeholder="e.g. 04000000000">
</div>
JavaScript:
/**
* validate phone number according to australian format
* Ref: https://ilikekillnerds.com/2014/08/regular-expression-for-validating-australian-phone-numbers-including-landline-and-mobile/
*/
jQuery.validator.addMethod("phoneAU", function(value, element) {
var phoneExpression = /^\({0,1}((0|\+61)(2|4|3|7|8)){0,1}\){0,1}(\ |-){0,1}[0-9]{2}(\ |-){0,1}[0-9]{2}(\ |-){0,1}[0-9]{1}(\ |-){0,1}[0-9]{3}$/;
if (value.match(phoneExpression)) {
return true;
}
return false;
}, jQuery.validator.messages.phoneAU || "Please specify a valid phone number");
И затем использовал следующее в функции проверки правил
phone: {
phoneAU: true
},
Я использую проверку jQuery. Тем не менее, он рассматривает по мере необходимости. Я не хочу, чтобы это потребовалось. Я просто хочу убедиться, что всякий раз, когда пользователь заполняет его, он заполняет его соответствующим австралийским форматом номера телефона.