我正在创建一个带有警告元素的表单。一切都很好,但需要更好地定义我的模式。
$("#postcode").inputNotes(
{
warning: {
pattern: /^[0-9]+$/,
type: 'note',
text: 'Only numbers, please ...',
inversedBehavior: true
}
}
);
$("#phone").inputNotes(
{
warning: {
pattern: /^[0-9]+$/,
type: 'note',
text: 'Only numbers, no spaces please ...',
inversedBehavior: true
}
}
);
对于邮政编码警告,我希望模式可以预期4个数字
对于电话警告,我希望该模式可以使用10个数字。
任何帮助表示感谢。
答案 0 :(得分:8)
以下是澳大利亚邮政编码的规则:
ACT:0200-0299和2600-2639。
NSW:1000-1999,2000-2599和2640-2914。
NT:0900-0999和0800-0899。
QLD:9000-9999和4000-4999。
SA:5000-5999。
TAS:7800-7999和7000-7499。
VIC:8000-8999和3000-3999。
WA:6800-6999和6000-6799
正则表达式:^(0 [289] [0-9] {2})|([1345689] [0-9] {3})|(2 [0-8] [0-9 ] {2})|(290 [0-9])|(291 [0-4])|(7 [0-4] [0-9] {2})|(7 [8-9] [0 -9] {2})$
通行证:0200 ||| 7312 ||| 2415
失败:0300 ||| 7612 ||| 2915
答案 1 :(得分:5)
<强>更新强>
对于6位或10位数字:
pattern: /^[0-9]{10}|[0-9]{6}$/,
四位数邮政编码:pattern: /^[0-9]{4}$/,
对于10位数的电话号码:
(如果电话号码不能以0开头)
pattern: /^[1-9][0-9]{9}$/,
(如果电话号码可以从0开始)
pattern: /^[0-9]{10}$/,
答案 2 :(得分:3)
对于4位数的邮政编码,您可以使用/^\d{4}$/
。
对于10位数的邮政编码,您可以使用/^\d{10}$/
。
请记住,有些人会在电话号码中输入空格,括号等。在使用/[^\d]+/g
进行验证之前,您应先删除所有非数字。
答案 3 :(得分:2)
不要使用+
修饰符,请尝试使用{num}
,其中num
是您想要的前一个原子的实例数。
答案 4 :(得分:0)
澳大利亚邮政在2019年大大简化了规则。
现在,您只需要考虑以下范围:
0200 – 0299、0800-0999和1000 – 9999
因此验证澳大利亚邮政编码的正则表达式为:
^(0[289][0-9]{2})|([1-9][0-9]{3})$
答案 5 :(得分:0)
所有这些答案均假设您将文本字段限制为4个字符,例如。 (12345)有效,为限制长度,请使用以下
^(0[289][0-9]{2})$|^([1-9][0-9]{3})$
答案 6 :(得分:0)
为了节省人们的时间,这里是一个如何在 jquery 中使用的例子
$("#address-postal-code").once().on('blur', function (e) {
var myRegEx = new RegExp('^(0[289][0-9]{2})|([1-9][0-9]{3})$');
var ele = $(this);
if (!myRegEx.test(ele.val())) {
console.log('no good');
}
else {
console.log('good');
}
})