如何检查以一个字母开始的字符串,然后是4位数字

how to check a string start with one alphabet then 4 digits number

本文关键字:字符串 开始 然后 4位 数字 一个 检查 何检查      更新时间:2023-09-26

如何检查以一个字母开头的字符串,然后是4位数字

我需要通过javascript regex测试字符串。我的字符串必须以'P'开头,然后4位数必须是。总长度应为5(p + 4位数)

示例:P1234或p5263

我已经测试了:

$(function(){
    
    $('.p-input').keyup(function(e){
      var entered_value = $(this).val();
      var regexPattern = /^[pP]+[0-9]{4}$/;         
                 
      if(regexPattern.test(entered_value)) {
          $(this).css('background-color', 'white');
          $('.err-msg').html('');
      } else {
          $(this).css('background-color', 'red');
          $('.err-msg').html('Enter a valid value');
      }
    });
    
});
.err-msg { font-size:small; font-style:italic; color:red; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<input type="text" name="" class="p-input" />
<span class="err-msg"></span>

但在上面的代码中,它与'pp1236', 'ppp1236'一起工作

您必须移除+。它是一个或无限时间量词,所以在你的例子中"p"或"p"必须出现一次或多次。

如果没有量词,则表示"p"或"p"只能出现一次。

所以这是正确的RegExp: /^[pP][0-9]{4}$/

regex101.com是测试php, javascript和python正则表达式的完美站点:)

编辑:

在你的问题的评论中,人们建议使用{1}量词。这个量词是"无意义的",因为它是默认的。