排除的组合 SA SD SS 需要紧跟在 !签署以提供有效的结果;所以,不是! SA|SD|SS,而是!SA|SD|SS,他们引入了:space: 代码。
我的荷兰荷兰邮政编码正则表达式:
^[1-9][0-9]{3}[[:space:]]{0,1}(?!SA|SD|SS)[A-Z]{2}$ or
^[1-9][0-9]{3}[ ]{0,1}(?!SA|SD|SS)[A-Z]{2}$ works also (depends on software version on your server, the [:space:] code is not always accepted)
-
^ 在行首断言位置
-
匹配下面列表中的单个字符 [1-9]
1-9 匹配 1(索引 49)和 9(索引 57)之间的单个字符(区分大小写)
-
匹配下面列表中存在的单个字符 [0-9]
{3} 与前一个标记精确匹配 3 次
0-9 匹配 0(索引 48)和 9(索引 57)之间的单个字符(区分大小写)
-
匹配下面列表中的单个字符 [[:space:]]
{0,1} 匹配前一个令牌 0 到 1 次,尽可能多次,根据需要回馈(贪婪)
[:space:] 匹配一个空白字符,包括换行符 [ \t\r\n\v\f] (也写成 \s)
-
负前瞻 (?!SA|SD|SS)
断言下面的正则表达式不匹配
第一种选择 SA
SA 按字面意思匹配字符 SA(区分大小写)
第二备选 SD
SD 按字面意思匹配字符 SD(区分大小写)
第三种选择 SS
SS 从字面上匹配字符 SS(区分大小写)
-
匹配下面列表中的单个字符 [A-Z]
{2} 与前一个标记完全匹配 2 次
A-Z 匹配 A(索引 65)和 Z(索引 90)之间的单个字符(区分大小写)
-
$ 在行尾断言位置
我用它制作的 JavaScript 函数:
function checkpostcode(){
$("#result_postcode").text("");
var xpr="^[1-9][0-9]{3}[[:space:]]{0,1}(?!SA|SD|SS)[A-Z]{2}$";
var pcRegex = new RegExp(xpr,"g");
var pccheck = document.getElementById("id_postcode");
if(pcRegex.test(pccheck.value)){
$("#result_postcode").html(" <i class=\"fa fa-check text-success\"></i>");
$("#result_postcode").css("color", "green");
$("#id_postcode").css("border", "2px solid green");
$("#id_postcode").css("background-color", "#bdf5bd");
validator();
} else {
$("#result_postcode").html(" <i class=\"fa fa-remove text-danger\"></i>");
$("#result_postcode").css("color", "red");
$("#id_postcode").css("border", "1px solid red");
}}
这是从 PHP 中的表单输入字段调用的:
echo"<input type=\"text\" id=\"id_postcode\" name=\"postcode\" value=\"\" placeholder=\"4 cijfers spatie 2 letters\" style=\"width:50%\" oninput=\"checkpostcode();\" required>";
echo"<span id=\"result_postcode\"></span>";
validator() 是一个 JavaScript 函数,它在每次输入字段发生更改以及页面首次完成加载时运行。它最终通过提供正确的 CSS 来显示该按钮来执行输入按钮的显示。
<script type="text/javascript" language="javascript">
$(document).ready(function(){
validator();
});
</script>
显示禁用的按钮:
function validator(){
var postc=document.getElementById("id_postcode");
var h=postc.value.length;
if(h>0){
//als aan alle eisen voldaan wordt button vrijgeven
$("#maak_account_id").prop("disabled", false); //activeer de button
$("#maak_account_id").removeClass(); //opmaak wissen
$("#maak_account_id").addClass("button enabled"); //opmaak plaatsen
}else{
$("#maak_account_id").prop("disabled", true); //activeer een button
$("#maak_account_id").removeClass(); //opmaak wissen
$("#maak_account_id").addClass("button disabled"); //opmaak plaatsen
}
还有表单按钮:
<input name="maak_account" id="maak_account_id" type="submit" value="Maak mijn account aan" style="float: right;" disabled>