Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我有两个正则表达式';这是一张表格。其中一个在工作,另一个没有。我错过了什么?_Javascript_Html_Regex_Forms - Fatal编程技术网

Javascript 我有两个正则表达式';这是一张表格。其中一个在工作,另一个没有。我错过了什么?

Javascript 我有两个正则表达式';这是一张表格。其中一个在工作,另一个没有。我错过了什么?,javascript,html,regex,forms,Javascript,Html,Regex,Forms,我测试了两种表达方式,它们都有效。现在,当检查所有代码和附件时,我发现邮政编码的正则表达式不起作用。(电子邮件地址的那个。我尝试了一些错误测试,似乎找不到它不起作用的原因。我附上了正则表达式应该从中获取输入的表单数据。当我提交表单时,它似乎完全绕过了邮政正则表达式。我们的邮政编码格式为字母、数字、字母(然后是可选空格或破折号);后跟数字、字母、数字 名字: 姓氏: 电子邮件地址: 邮政编码: 您的问题来自于验证功能的重复定义 名字: 姓氏: 电子邮件地址: 邮政编码: var valid

我测试了两种表达方式,它们都有效。现在,当检查所有代码和附件时,我发现邮政编码的正则表达式不起作用。(电子邮件地址的那个。我尝试了一些错误测试,似乎找不到它不起作用的原因。我附上了正则表达式应该从中获取输入的表单数据。当我提交表单时,它似乎完全绕过了邮政正则表达式。我们的邮政编码格式为字母、数字、字母(然后是可选空格或破折号);后跟数字、字母、数字


名字:
姓氏:
电子邮件地址:
邮政编码:

您的问题来自于
验证
功能的重复定义


名字:
姓氏:
电子邮件地址:
邮政编码:
var validate=函数(myform){ var postal=myform.postal; var regex=/^([A-Za-z]\d[A-Za-z]-?\d[A-Za-z])\d$/i; 如果(!正则表达式测试(邮政值)){ 警报(“无效邮政编码格式”); 返回false; } var myemail=myform.email; var regex=/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/i; if(!regex.test(myemail.value)){ 警报(“无效电子邮件格式”); 返回false; } 返回确认(“继续?”); }
您将验证表单的函数存储在变量
validate
中。您为该变量分配了两个不同的函数。一个用于检查邮政编码,另一个用于检查电子邮件地址


分配第二个函数会覆盖第一个函数的引用。因此,只会执行电子邮件地址检查。将两个检查都包含在同一个函数中。

一个正则表达式不起作用,对于想要的和观察到的行为的描述有点少。我不知道新西兰邮政编码-你能举个f的例子吗ew有效的,至少一个“几乎有效的”我们的邮政编码是字母、数字、字母,然后是空格或连字符;然后是数字、字母、数字,例如T3G 3c6
空格或连字符。在正则表达式中,我读空格,然后是可选的连字符。不太确定不包括最后一位数字的括号会起什么作用。当我提交表格时,它似乎绕过了这个正则表达式,但不是我电子邮件地址的正则表达式(erm-是不是
/[A-Za-z])/i
忽略了字符大小写?)