我正在开发一个Java脚本,我需要使用正则表达式来检查文本框中输入的文本是否应该是字母和数字值的组合。
我尝试了java脚本的NaN功能,但字符串应该是最小尺寸&最大长度为4,以Alphabet作为第一个元素开始,其余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>
答案 0 :(得分:4)
^[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
*/
答案 1 :(得分:3)
This website会告诉您确切需要了解的内容。
答案 2 :(得分:3)
正则表达式:
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 :(得分:1)
/ [A-Z] [0-9] {3} /
答案 4 :(得分:1)
如果你想要大写和小写字母,那么/^[A-Za-z][0-9]{3}$/
如果字母大写,则为/^[A-Z][0-9]{3}$/
答案 5 :(得分:0)
最小例子:
<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>