javascript - 邮政编码验证
问题描述
我需要验证我的表格的一部分,它是基于马来西亚邮政编码的邮政编码,这是一个 5 位数字邮政编码。如何验证用户输入的值只有 5 个数字,不多也不少?提前致谢!
这是我的部分代码:
HTML:
<label>Postcode: <input type="text" name="postcode" id="postcode" required="required"></label><br />
Javascript:
function chkPostcode () {
var postcode = document.getElementById("postcode").value;
var pattern = /^[0-9]+$/; //check only alpha characters or space
var postcodeOK = true;
if ((postcode.length < 5 && postcode.length > 5)){ //same as owner==""
gErrorMsg = gErrorMsg + "Please enter postcode.\n"
postcodeOK = false; //if condition or clause complex more readable if branches on separate lines
}
else{
if (!pattern.test(postcode)){
gErrorMsg = gErrorMsg + "Postcode must only contain numbers.\n"
postcodeOK = false; //if condition or clause complex more readable if branches on separate lines
}
}
//if (!nameOk){
// document.getElementById("owner").style.borderColor = "red";
//
return postcodeOK;
}
解决方案
对于您要完成的工作,这是一个更短的代码。
document.getElementById("postcode").addEventListener("input", function(e) {
if ( /^\d{5}$/.test(e.target.value)){
console.log("valid");
return;
}
console.log("invalid");
})
<label>Postcode: <input type="text" name="postcode" id="postcode" required="required"></label><br />
推荐阅读
- python - 熊猫复制切片杀死jupyter内核
- c# - unity OnMouseDown 太慢
- angular - 将 obs 与各种过滤器选项相结合
- neo4j - neo4j cypher - 匹配不存在相同类型的另一个特定节点的节点
- python - 如何检测我在 python3 中使用的 Windows 桌面?
- android - 我可以在我的 Fragments 构造函数中输入参数吗
- javascript - JS:如何将链式动画保存为变量以播放、暂停等
- c# - C# 表单大小不正确
- ruby-on-rails - 为什么我在升级到 Ruby 3 后在 ActiveRecord 查找方法上收到 ArgumentError,但仅在 Heroku 上?
- android - 使用 AndroidJunit4 运行 Jetpack 撰写测试,无需设备