【问题标题】:javascript regular expressions address numberjavascript正则表达式地址编号
【发布时间】:2012-04-18 01:08:52
【问题描述】:

我正在创建一个网站并使用 javascript 来验证信息 这是我遇到 address_number 问题的代码 错误是无效的地址号

如果有其他错误请说

谢谢 =)

function validateForm()
{
    var form = document.forms['inputForm'];
    var formats = 
        {
            first_name: /^[a-zA-Z]+[\-'\s]?[a-zA-Z]+$/,                             /*works for a-Z allows - and '*/
            surname: /^[a-zA-Z]+[\-'\s]?[a-zA-z]+$/,                                /*works for a-Z allows - and '*/
            postcode: /^\d{4}$/,                                                    /*4digit post code australia wide*/
            email: /^\w+([\.-]w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/,                   /*allows all word characters and normal email formats*/
            address_number: /^\d[0-9]{\?12}$/,                                                  /*allows any number of digits*/
            address_name: /^\w?\s?[a-zA-Z]+(,?\s([a-zA-Z])*)*$/,            /*allows numbers space capital letters and other word characters*/
            suburb: /^\w?\s?[a-zA-Z]+(,?\s([a-zA-Z])*)*$/,          /*allows numbers space capital letters and other word characters*/
            phone: /^\d{10}$/,                                                      /*8 number phone number*/
            length: /^\d[0-9]$/,
            height: /^\d[0-9]$/,
        }
        var length = form.length.value;
        var height = form.height.value;
        var area = length*height;

        var elCount = form.elements.length;
        for(var i = 0; i<elCount; i++)
        {
            var field = form.elements[i];
            if(field.type == 'text')
            {
                if(!formats[field.name].test(field.value))
                {
                    alert('invalid '+ field.name.replace('_',' ')+'.');             /*alerts the name of the area not filled right in a pop up box*/
                    field.focus();
                    return false;
                }
            }
        }
        alert('All fields correct, the form will now submit.')
}

【问题讨论】:

  • 我们需要更多信息——比如输入!
  • 输入你的意思是我输入什么来测试?如果是这样,那么名字垫姓爱尔兰邮政编码 2145 电子邮件 myemail@hotmail.com 地址号码 52 地址名称史密斯街郊区悉尼电话 1112345678 长度和高度是计算矩形的面积警报是说什么字段没有填写更正,如果这不是您需要的信息,请告诉我
  • 为什么要麻烦这些?只需让用户输入他们想要的内容。您的名称字段的正则表达式只允许一个连字符或空格,address_number 不允许像 2/34 这样的东西。 address_name 不允许使用数字(例如 23rd st)或逗号,如果不仅仅是街道名称,郊区也是如此,并且电话号码可以少于 10 个字符(即使评论说 8),所以开。

标签: javascript regex


【解决方案1】:

\d+ 应该是任何数字,至少一次,但喜欢,想多就多。

【讨论】:

  • 而 \d[0-9] 是多余的,只需 \d 就足够了。
  • @Lazerblade 是的。这就是我忽略它的原因。
猜你喜欢
  • 2014-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-03
  • 1970-01-01
  • 1970-01-01
  • 2013-01-16
相关资源
最近更新 更多