Регулярное выражение для алфавитов + числовое значение - PullRequest
1 голос
/ 17 августа 2010

Я работаю над Java-скриптом, для которого мне нужно регулярное выражение, чтобы проверить, должен ли введенный текст в текстовое поле быть комбинацией алфавитов и числового значения.

Я попробовал NaN-функцию java-скрипта, но строка должна иметь минимальный размер и максимальный размер длины 4 и начинаться с алфавита в качестве первого элемента, а остальные 3 элемента должны быть числами.

Например: регулярное выражение для A123, D456, a564 и не для (AS23, 1234, HJI1)

Пожалуйста, предложите мне !!!

Код здесь:

<script type="text/javascript">
  var textcode = document.form1.code.value;
  function fourdigitcheck(){
    var textcode = document.form1.code.value;
    alert("textcode:"+textcode);
    var vmatch = /^[a-zA-Z]\d{3}$/.test("textcode");
    alert("match:"+vmatch);
    }
</script>
<form name="form1">
 Enter your Number  <input type="text" name="code" id="code"   onblur="fourdigitcheck()" />
</form>

Ответы [ 6 ]

4 голосов
/ 17 августа 2010
^[A-Z]{1}\d{3}$

или короче

^[A-Z]\d{3}$

Описание:

// ^[A-Z]\d{3}$
// 
// Assert position at the start of the string or after a line break character «^»
// Match a single character in the range between "A" and "Z" «[A-Z]»
// Match a single digit 0..9 «\d{3}»
//    Exactly 3 times «{3}»
// Assert position at the end of the string or before a line break character «$»

Тест:

/*
A123 -> true
D456 -> true
AS23 -> false
1234 -> false
HJI1 -> false
AB456 -> false
*/
3 голосов
/ 17 августа 2010

Regexp:

var match = /^[a-zA-Z][0-9]{3}$/.test("A456"); // match is true
var match = /^[a-zA-Z][0-9]{3}$/.test("AB456"); // match is false

http://www.regular -expressions.info / javascriptexample.html - есть онлайн-инструмент тестирования, где вы можете проверить, работает ли он нормально.

3 голосов
/ 17 августа 2010

Этот сайт расскажет вам именно то, что вам нужно знать.

1 голос
/ 17 августа 2010

Если вам нужны заглавные и строчные буквы, тогда /^[A-Za-z][0-9]{3}$/

В противном случае, если буквы в верхнем регистре, тогда /^[A-Z][0-9]{3}$/

1 голос
/ 17 августа 2010

/ [A-Z] [0-9] {3} /

0 голосов
/ 17 августа 2010

Минимальный пример:

<html>
<head>
</head>
<body>
<form id="form" name="form" action="#">
  <input type="text" onkeyup=
   "document.getElementById('s').innerHTML=this.value.match(/^[a-z]\d\d\d$/i)?'Good':'Fail'" 
   />
  <span id="s">?</span>
</form>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...