护照验证

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了护照验证相关的知识,希望对你有一定的参考价值。

我正在尝试创建一个取决于其格式的护照验证,我创建了2个输入栏。第一个输入栏仅允许用户输入2个字母,第二个输入栏仅允许输入7个数字。验证用户输入的2个字母(仅数字)而不是数字,并在其受尊重的输入栏上输入7个数字(仅字母)的javascript功能]

这是我到目前为止所拥有的

<!doctype html>
<html>

<body>
<div class="form-group">
<label for="passportno" class="control-label col-xs-4"><p class="left">Passport No.</p></label>
										
<input size="1" name="passportno" class="form-control" placeholder=""required/> -
<input  size="14" name="passportno" class="form-control" placeholder=""required/>
										
</div>
</script>
</body>
</html>
答案

以下代码显示警报,输入是否为有效输入。如果不是,则警报显示为false。用您的代码替换警报以显示消息或其他内容。

将html的maxlength属性用于最大输入字符

$(document).ready(function()
    $("#submitButton").click(function()
        alert(/^\d+$/.test($('#passportNumber').val()));       // 2 digit number validation
        alert(/^[a-zA-Z]+$/.test($('#passportSeries').val()));  // 7 character validation
    );
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!doctype html>
<html>
    <body>
        <div class="form-group">
            <label for="passportno" class="control-label col-xs-4">
                <p class="left">Passport No.</p>
            </label>
            <input maxlength="2" id="passportNumber" class="form-control" placeholder=""required/> -
            <input maxlength="7" id="passportSeries" class="form-control" placeholder=""required/>
            <input type="button" value="submit" id="submitButton" />			
        </div>
        </script>
    </body>
</html>
另一答案

以下是可能的方法之一。

  • 将最大长度设置为您的输入
  • 为您的输入使用唯一的名称(不相同)
  • 因为我没有看到要验证的按钮,所以我使用了键入,输入(使用复制+粘贴等操作)

$("input").on("keyup input", function() 
	
    var $this = $(this);
    var val = $.trim( $this.val() ) || "";

    if (this["name"] === "passportno") 
    	val = val.replace(/[^\d]/g, '');
     else 
        val = val.replace(/[^a-z]/gi, '');
    
	$this.val( val );
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="form-group">
    <label for="passportno" class="control-label col-xs-4"><p class="left">Passport No.</p></label>

    <input size="1" name="passportno" class="form-control" placeholder="" required="" maxlength="2" /> -
    <input  size="14" name="passportletters" class="form-control" placeholder="" required="" maxlength="7" />

</div>
另一答案

我尚未测试,但我认为Sarjan Desai的答案接受1到2个字母和1到7个数字。您可以在两个regexp中指定匹配长度:

[/^\d+$/将是/^\d2$/,而/^\[a-zA-Z]+$/将是/^\[a-zA-Z]7$/

修改后的代码:

$(document).ready(function()
    $("#submitButton").click(function()
        alert(/^\d2$/.test($('#passportNumber').val()));
        alert(/^[a-zA-Z]7$/.test($('#passportSeries').val()));
    );
);
另一答案

如何使用支票护照API

API URL:https://www.cloud-hotspot.com/check_passport.php?passport=your_passport_id&digit=your_check_digit&expiry=Date_of_Expiry&ex_digit=Check_digit_on_Date_of_ExpiryAPI返回:有效或无效

https://www.cloud-hotspot.com/isp42/check_passport.php的更多信息

以上是关于护照验证的主要内容,如果未能解决你的问题,请参考以下文章

Express4 和护照:无法验证

未知的身份验证策略护照

nodejs护照身份验证令牌

护照验证

护照 jwt 验证回调未调用

Facebook iOS SDK 和护照-facebook 身份验证