护照验证
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的更多信息
以上是关于护照验证的主要内容,如果未能解决你的问题,请参考以下文章