gpt4 book ai didi

javascript - NIC 和用户名验证字段

转载 作者:太空宇宙 更新时间:2023-11-04 16:21:44 25 4
gpt4 key购买 nike

我有两个字段,网卡和用户名。他们的验证是

  • NIC 检查数字或字符
  • 用户名字段必须包含超过 8 个字符(包括日期)从 NIC 出生。

到目前为止,我已经在我的网卡上尝试过这个。

function validateNIC() 
{
var nic = document.getElementById('NIC');
var mesg = document.getElementById('message1');

if (NIC.length != 14) {
message1.innerHTML="Length must be 14 characters";
} else{
message1.innerHTML="Length is good";
}
}
  <div class="form-group">
<label for="username"><span class="req">* </span> NIC NUMBER:</label>
<input class="form-control" type="text" name="NIC" id = "NIC" required onkeyup = "validateNIC();" maxlength=14 />
<span id="message1"></span>

</div>

对于我的用户名,我尝试了这个。

function Validate(txt) {
txt.value = txt.value.replace(/[^a-zA-Z-'\n\r.]+/g, '');
}
<div class="form-group">
<label for="username"><span class="req">* </span> User name:</label>
<input class="form-control" type="text" name="username" id="txt" onkeyup="Validate(this)" maxlength=14 required />
<div id="errLast"></div>
</div>

  • 我对 NIC 的验证不太有效。它一直显示即使长度不错,“长度必须为 14 个字符”。
  • 对于用户名部分,谁能告诉我该怎么做?是我必须做一个数组还是什么? NIC 的一个示例是T2108974302906,其中 210897 是出生日期。

最佳答案

var nic = document.getElementById('NIC');
var mesg = document.getElementById('message1');

if (NIC.length != 14) {

这里NIC引用 DOM 元素,而不是该输入元素的。您想使用nic.value.length .

至于用户名,你的正则表达式看起来很奇怪[^a-zA-Z-'\n\r.] 。该集合匹配不在该集合中的字符。你为什么放\n\r

无论如何,如果您使用 <form>元素来提交这些字段,我建议您使用 pattern属性。您可以在 http://regex101.com/ 上测试 yoru 模式

提取 DOB:

<input pattern="^T[0-3]\d[0-1]\d{10}$">

validateNIC() {
var nic = document.getElementById('NIC');
var isValid = /^T[0-3]\d[0-1]\d{10}$/.test(nic.value);
var dob = nic.value.substring(1, 7);
}

关于javascript - NIC 和用户名验证字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40578592/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com