Nik*_*ran 1 javascript regex validation
我正在尝试编写javascript代码,以确保我的表单中的字段的前2个字符为字母(US),其余8个为数字.
总数必须是10,如果不满足任何一个,我应该抛出一个警告框.
我现在正在检查数字,但我不知道如何在同一字段中组合检查字母和数字.
这是我检查数字的代码.
请帮帮我!sid是我的字段名称.
// only allow numbers to be entered
var checkOK = "0123456789";
var checkStr = document.forms[0].sid.value;
var allValid = true;
var allNum = "";
for (i = 0; i < checkStr.length; i++)
{
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length)
{
allValid = false;
break;
if (ch != ",")
allNum += ch;
}
if (!allValid)
{
alert("Please enter only 8 numeric characters in the \"sid\" field.");
return (false);
}
}
Run Code Online (Sandbox Code Playgroud)
单个正则表达式将轻松执行此检查:
/^[a-zA-Z]{2}\d{8}$/
Run Code Online (Sandbox Code Playgroud)
/ ^匹配字符串的开头
[a-zA-Z] {2}恰好匹配2个字母字符
\ d {8}恰好匹配8位数
$ /匹配字符串的结尾
使用方法如下:
/^[a-zA-Z]{2}\d{8}$/.test (str) // Returns true or false
Run Code Online (Sandbox Code Playgroud)