检查长度和最后一个字符是一个数字 - Javascript

时间:2015-06-18 10:42:02

标签: javascript html forms

我有一个HTML表单,其中一个问题(文本字段)需要检查:

  1. 长度为七个字符
  2. 前六个字符是数字
  3. 最后一个字符只能是以下字符之一:ABCDE
  4. 我真的在努力使用JavaScript验证来实现这一点。我是JavaScript的新手,如果有人能指出我正确的方向,我会很高兴。非常感谢

4 个答案:

答案 0 :(得分:0)

您可以查看此正则表达式:

/^[\d]{6}[ABCDE]{1}$/



var re = /^[\d]{6}[ABCDE]{1}$/; 
var str = '123456A';
if (str.match(re)){
    alert('match')
}




答案 1 :(得分:0)

尝试RegEx:/^\d{6}[A-E]$/

此处,^$是表示表达式开始和结束的锚点。 \d代表数字09{}指定长度,[A-E]用于指定从AE的范围。

var check = function(tb) {
  tb.className = '';
  if (/^\d{6}[A-E]$/.test(tb.value)) return;
  tb.className = 'error';
  alert('Invalid input !');
};
.error {
  border-color: red;
}
<input type="text" onblur="check(this);" />

答案 2 :(得分:0)

你可以这样做。

<script>
var inp = document.getElementById('myinput');
var chars = document.getElementById('chars');
inp.onkeyup = function() {
  var value= inp.value.charAt(inp.value.length - 1);
  var n = 'ABCDE'.indexOf(value);
    if(n<0)
    {
    alert("This is valid data");
    }
}
</script>

<input id="myinput"><span id="chars">0</span>

答案 3 :(得分:0)

使用RegExp检查格式+检查长度:    它会提醒truefalse

var str = "123456A";

alert(str.match(/[0-9]{6}[ABCDE]{1}/) && str.length === 7);

JSFIDDLE:http://jsfiddle.net/ghorg12110/j9315mr2/

相关问题