1

我有文本框。用户可以在其中输入学生 ID。学生证采用这种格式 DIP0001。前三个字母应为 DIP,其余 4 位应为数字,最多只能包含 4 个字符。那么如何使用javascript检查输入的数据是否采用这种格式。请帮忙.....

4

3 回答 3

3

您可以构建一个正则表达式模式并针对该值对其进行测试,以查看它是否与该确切模式匹配。文件:

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Title</title>
</head>

<body>
  <label for="studentId">Student ID</label>
  <input id="studentId" type="text">

  <button id="btn" type="button">Validate</button>

  // Embedded script so that you don't have to load an external file
  <script>
      var input = document.getElementById('studentId');

      var btn = document.getElementById('btn');

      var pattern = /DIP+\d{1,3}/g;

      btn.addEventListener('click', function(){
        if(pattern.test(input.value)) {
          alert('It enter code here`atches!');
        }else {
          alert('It does not match!');
        }
      });
  </script>
</body>
</html>

JS文件:

// This pattern looks something like this: DIP0000
var pattern = /DIP+\d{1,3}/g;

// studentId is the ID of the input field that contains the Student ID
var studentIdInput = document.getElementById('studentId');

// Check the pattern against the provided Student ID
if(pattern.test(studentIdInput.value)) {
    alert('It matches the pattern!');
}

编辑 1:我在以下 JSFiddle 中构建了功能:http: //jsfiddle.net/vldzamfirescu/QBNrW/
希望对您有所帮助!

EDIT2:我已更新 JSFiddle 以匹配最多 4 位的任何其他组合;检查一下:http: //jsfiddle.net/vldzamfirescu/QBNrW/1/如果它解决了您的问题,请告诉我!

于 2013-09-20T11:08:48.953 回答
3

试试这个代码

<html>
<head>
    <script>
        function validate(val) {
            if (val.value != "") {
                var filter = /^[DIP]|[dip]+[\d]{1,4}$/
                if (filter.test(val.value)) { return (true); }
                else { alert("Please enter currect Student Id"); }
                val.focus();
                return false;
            }
        }
    </script>
</head>
<body>
    <input id="Text1" type="text" onblur="return validate(this);" />
</body>
</html>
于 2013-09-20T11:22:50.357 回答
1

使用正则表达式。

如果找到有效的学生 ID,该模式将返回 true:

function validateStudentId(id) { 
    var re = /DIP[0-9]{4}/;

    return re.test(id);
} 

//编辑为与点击事件一起使用:

document.getElementById('button').addEventListener('click', function(){
    if( validateStudentId(document.getElementById('textBox').value) ){
          alert('correct');
    }else{
         alert('invalid ID');
    }
});
于 2013-09-20T11:08:07.060 回答