检查输入是否正确/不正确并为输入字段着色

时间:2017-09-16 10:30:57

标签: javascript

我必须做一个患者形式(我用桌子做了)并提出一些个人问题。例如:患者数量。在有人填写他们的号码后,我必须检查(在Javascript中)该号码是否包含8个号码。当它包含8个数字时,输入字段变为绿色,当输入不正确时,它应该给出一条消息(即“给一个患有8个数字的患者数字。”),输入字段应为红色。 尝试获取正确的代码有两种方法,但两种方法都不起作用。有人可以帮我这个吗?先谢谢你了!

 function checkpnummer() {
    var pnummer = $('#pnummer').val; 
    if(pnummer != /^([0-9]a{8})$/) {
      pnummer.style.color = "#CD5C5C";
      alert("Vul een patientnummer in dat bestaat uit 8 cijfers.");
    }

    else {
      pnummer.style.color = "#00FA9A";
      $('#pnummer').focusout(pnummer);   
    }
 }

2 个答案:

答案 0 :(得分:0)

var pnummer = document.getElementById("pnummer").value并尝试此代码if(pnummer.match(/^([0-9]a{8})$/)) { //true } else { //false }字符串匹配为0aaaaaaaa,1aaaaaaaa等

答案 1 :(得分:0)

我可以看到你正在使用jquery,所以这里是正确的jquery解决方案 -

function checkpnummer() {
 if(!$('#pnummer').val().match(/^\d{8}$/)) {
  $('#pnummer').css({"background-color": "#CD5C5C"});
  alert("Vul een patientnummer in dat bestaat uit 8 cijfers.");
 }
 else {
  $("#pnummer").css("background-color", "#00FA9A");
  $("#pnummer").focusout();
 }
}

我已经在你的代码中指出了一些错误 -

  • 错误使用val()方法
  • 正则表达式不正确
  • 更改元素的css的错误方法(使用$("element").css("property": "value")
  • 匹配正则表达式的错误方法(使用match()方法)

我希望这会有所帮助。