javascript使用数字,字母和特定顺序的特殊字符验证表单输入?

时间:2017-11-01 19:49:43

标签: javascript regex

我希望用户输入的输入是以下任何一种格式:

  

D345 /二千零三十零分之九万八千七百六十五
  D345s /二千零三十零分之九万八千七百六十五

让我试着解释一下。它应该从:

开始
  • 一个字母(大写或小写)
  • 后跟最多3个数字
  • 然后另一个可选的单个字母,可以是大写或小写
  • 然后是正斜杠,最多是五个数字
  • 然后是另一个正斜杠,接着是4个数字。

请注意,不允许使用空格。我是这个验证的新手,任何帮助都将受到高度赞赏。我已经检查了现有的问题,没有人满意地回答这个问题。请帮助我使用JavaScript代码,这是我的输入代码:

<div class='control-group'>
    <!-- Reference-->
    <div class='controls'>
        <input required type='text' autocomplete='off' id='reference' name='reference' placeholder='Enter your reference number'>
    </div>
</div>

1 个答案:

答案 0 :(得分:2)

也许这个regex正是您所寻找的:

^[a-zA-Z]\d{1,3}[a-zA-Z]?\/\d{1,5}\/\d{4}$

  • 从字符串^
  • 的开头
  • 一个字母(不区分大小写)[a-zA-Z]
  • 最多3个号码\d{1,3}
  • 可选的单个字母(不区分大小写)[a-zA-Z]?
  • 正斜杠\/
  • 最多五个数字\d{1,5}
  • 正斜杠\/
  • 正好4个数字\d{4
  • 到字符串$
  • 的末尾

修改:根据您对“无效参考编号”提醒

的提问

你可以像这样实现你的代码:

function ValidateInput() {
    var textBoxvalue = document.getElementById('reference').value;
    var pattern = /^[a-zA-Z]\d{1,3}[a-zA-Z]?\/\d{1,5}\/\d{4}$/;
    if (pattern.test(textBoxvalue)) {
        alert('Good to go');
    }
    else {
        alert('Invalid reference number');
    }
}