【发布时间】: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