Javascript 如何验证输入文本是否允许第一位和第二位数字仅为字母
我需要验证一个输入文本,前两位数字加上连字符后只有字母,最后是5位数字 格式示例:aa-12345 现在我有Javascript 如何验证输入文本是否允许第一位和第二位数字仅为字母,javascript,c#,webforms,Javascript,C#,Webforms,我需要验证一个输入文本,前两位数字加上连字符后只有字母,最后是5位数字 格式示例:aa-12345 现在我有 <asp:TextBox ID="txtCodigoTopografo" onkeydown="test(this)" runat="server"></asp:TextBox> function test(e) { console.log(e); switch (
<asp:TextBox ID="txtCodigoTopografo" onkeydown="test(this)" runat="server"></asp:TextBox>
function test(e) {
console.log(e);
switch (e.value.length) {
case 0:
if (e.value)
e.value = e.value.replace(/[^a-z]/gi, '');
break;
case 1:
e.value = e.value.replace(/[^a-z]/gi, '');
break;
case 2:
e.value = e.value.replace(/[^0-9]/gi, '');
break;
case 3:
e.value = e.value.replace(/[^0-9]/gi, '');
break;
}
}
功能测试(e){
控制台日志(e);
开关(e.值.长度){
案例0:
如果(如价值)
e、 value=e.value.replace(/[^a-z]/gi,”);
打破
案例1:
e、 value=e.value.replace(/[^a-z]/gi,”);
打破
案例2:
e、 value=e.value.replace(/[^0-9]/gi,”);
打破
案例3:
e、 value=e.value.replace(/[^0-9]/gi,”);
打破
}
}
您当前的方法正在尝试用正则表达式替换stuff。相反,使用正则表达式验证输入字符串的格式是否正确
此正则表达式假定字母必须是小写。如果允许大写或小写,可以将[a-z]
更改为[a-z]
功能测试(){
var textboxContent=document.getElementById(“输入”).value;
var passed=/^[a-z]{2}-\d{5}$/.test(textboxContent);
如果(通过){
document.getElementById(“结果”).textContent=“已通过!”;
}否则{
document.getElementById(“结果”).textContent=“失败!”;
}
}