Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.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 如何使用正则表达式确定3个字符后的空格_Javascript_Jquery_Regex_Jquery Validate - Fatal编程技术网

Javascript 如何使用正则表达式确定3个字符后的空格

Javascript 如何使用正则表达式确定3个字符后的空格,javascript,jquery,regex,jquery-validate,Javascript,Jquery,Regex,Jquery Validate,实际上,我想使用jQuery验证来验证加拿大邮政编码表单字段 因此,我添加了下面的方法来验证加拿大邮政编码 //Canada zipcode validation methode jQuery.validator.addMethod("canadazipRegex", function(value, element) { return this.optional(element) || /^[ABCEGHJ-NPRSTVXY]{1}[0-9]{1}[ABCEGH

实际上,我想使用jQuery验证来验证加拿大邮政编码表单字段

因此,我添加了下面的方法来验证加拿大邮政编码

//Canada zipcode validation methode 
    jQuery.validator.addMethod("canadazipRegex", function(value, element) {
            return this.optional(element) || /^[ABCEGHJ-NPRSTVXY]{1}[0-9]{1}[ABCEGHJ-NPRSTV-Z]{1}[ ]?[0-9]{1}[ABCEGHJ-NPRSTV-Z]{1}[0-9]{1}$/i.test(value);
    }, "<br>You must enter your postal code in this format: A#A  #A#");
使用这个正则表达式

^[ABCEGHJ-NPRSTVXY]{1}[0-9]{1}[ABCEGHJ-NPRSTV-Z]{1}[ ]?[0-9]{1}[ABCEGHJ-NPRSTV-Z]{1}[0-9]{1}$

该字段应仅允许此格式

AA A

比如:A1A1A1

不像:A1A1A1

那么,我如何确保3个字符后有空格呢

我不擅长正则表达式。如果你给我好的教程链接也很感激


提前谢谢

\x20匹配项将显示空格。尝试使用该

\x20匹配将显示空格。尝试使用该选项,不要将空格设置为可选:

^[ABCEGHJ-NPRSTVXY][0-9][ABCEGHJ-NPRSTV-Z]\s[0-9][ABCEGHJ-NPRSTV-Z][0-9]$

此外,不需要使用量词{1}

不要使空格可选:

^[ABCEGHJ-NPRSTVXY][0-9][ABCEGHJ-NPRSTV-Z]\s[0-9][ABCEGHJ-NPRSTV-Z][0-9]$

另外,也不需要使用量词{1}

我没有正则表达式问题的解决方案,但是从用户体验的角度来看,我允许使用A1A1A1,并使用JavaScript在服务器上/添加空间。没有什么比表单强迫你做一些它可以自动完成的事情更让人恼火的了。我没有解决正则表达式问题的方法,但从用户体验的角度来看,我会允许A1A1并在服务器上添加空间/使用JavaScript。没有什么比表单强迫你做它完全可以自动完成的事情更烦人的了:对不起,我已经说过我不擅长使用regexp。所以请给我完整的正则表达式。我不知道在哪里添加:对不起,我已经说过我不擅长使用regexp。所以请给我完整的正则表达式。我不知道在哪里添加+1,或者如Juhana的评论所示,一定要使空格完全可选,如果缺少,就添加它们^[ABCEGHJ-NPRSTVXY][0-9][ABCEGHJ-NPRSTV-Z]\s*[0-9][ABCEGHJ-NPRSTV-Z][0-9]$并在代码中用空格将第一组和第二组粘在一起。@M42:非常有用,谢谢。但你不能理解Juhana的评论,你能解释一下吗。只是出于热情。+1或如Juhana的评论所示,一定要让空格完全可选,如果缺少,则添加它们^[ABCEGHJ-NPRSTVXY][0-9][ABCEGHJ-NPRSTV-Z]\s*[0-9][ABCEGHJ-NPRSTV-Z][0-9]$并在代码中用空格将第一组和第二组粘在一起。@M42:非常有用,谢谢。但无法理解Juhana的评论,请解释。只是出于热情。