javascript - NIC 和用户名验证字段

标签 javascript jquery html

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

  • 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/

相关文章:

javascript - 使用 $touched 和 $error 进行表单验证

Javascript 动态调节

javascript - validateLogin 是一个未定义的函数。(javascript 异常)

javascript - 可搜索下拉菜单

javascript - 不存在 'Access-Control-Allow-Origin' header

html - HTML5 将如何影响内容和标题的 SEO?

javascript - 检查左键或右键单击的指针事件方法

javascript - 动态生成id,并分配给label

javascript - 用javascript增加类

javascript - 默认情况下,div 在 angular js 和 ng-show 中不可见