使用正则表达式的Javascript表单验证邮件地址不起作用
Javascript form validation mailing address with regular expression not working!
你好,我有一个javascript表单验证和正则表达式的问题。下面是我使用的代码。我正在验证一个地址是否包含一个数字和一个字母表中的字母。此代码用于实验,不需要进行任何超安全验证。
问题是下面的代码似乎不工作。无论我做什么,警告框都告诉我必须输入一个有效的地址。怎么了?正则表达式不是在搜索值并发现false吗?即使我输入一个正常的地址,如123 Sky rd,它仍然输出请输入一个有效的地址。
我希望我的问题是清楚的。下面的代码将真正说明发生了什么。为什么这是无效的? if (document.customerInfo.address.value == ""){
msg += "Please enter a valid address'n";
}
else if (document.customerInfo.address.value.match(/[0-9]/) != true)
{msg += "Please enter a valid address'n";}
else (document.customerInfo.address.value.match(/[abc]/) != true)
{msg += "Please enter a valid address'n";}
这段代码在很多方面都是错误的。首先,match()不返回真或假。它返回null或一个匹配数组。其次,你的正则表达式正在寻找一个由所有数字组成的字符串或一个由所有字符组成的字符串,而你有一个由两者组成的字符串(包括空格)。
你到底想测试什么?
一个/[A- za - z0 -9]+/的正则表达式将允许数字,字母和空格,但我不知道你为什么要检查这个。地址不能用这种方法来检查。您可以确保该字段不是空的,但是地址可以采用各种形式,包括像Suite #100中的#这样的字符。我认为这里你能做的就是检查它是否为空
尝试([0-9])
和([a-z])
if (document.customerInfo.address.value == ""){
msg += "Please enter a valid address'n";
}
else if (document.customerInfo.address.value.match(/([0-9])/) != true)
{msg += "Please enter a valid address'n";}
else (document.customerInfo.address.value.match(/([a-z])/) != true)
{msg += "Please enter a valid address'n";}
你有if, else if, else。在if语句的所有部分,甚至在else语句中,都附加了"请输入有效地址"。
将代码改为
if (document.customerInfo.address.value == ""){
msg += "Please enter a valid address'n";
}
else if (document.customerInfo.address.value.match(/[0-9]/) != true)
{msg += "Please enter a valid address'n";}
else if (document.customerInfo.address.value.match(/[abc]/) != true)
{msg += "Please enter a valid address'n";}
试试这个regex:
if (document.customerInfo.address.value == ""){
msg += "Please enter a valid address'n";
}
else if (document.customerInfo.address.value.match/[a-zA-Z0-9 ]+/) == null) {
msg += "Please enter a valid address'n";
}
您只匹配一个字符,并且只匹配小写的[a-z]
。"+"指定一个或多个
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 监视函数从服务返回不起作用,但作用域函数起作用
- 幻灯片滚动javascript不起作用
- 简单的javascript在Shopify中不起作用
- Recaptcha在IE7和IE8中不起作用
- Ember Data DS.Model's set函数不起作用
- JsFiddle上的鼠标事件不起作用
- 我的AngularJS表达式没有'不起作用
- 点击按钮输入不起作用
- 面向对象的Javascript代码在IE7中不起作用
- 分部隐藏在jquery中不起作用
- 使用 Javascript 进行电子邮件地址验证在 ASP.net 中不起作用
- jQuery地址在回调中不起作用
- 在Mozilla中获取MAC地址,ActiveXObject不起作用
- 谷歌地图圈为单个地址不起作用
- 将参数附加到URL地址在多个函数中不起作用(第二个函数不变)
- 链接在Angular应用中起作用,但地址栏不起作用
- ip地址排序在datatable中不起作用
- 使用正则表达式的Javascript表单验证邮件地址不起作用
- 浏览器地址栏中的JavaScript代码不起作用