javascript - 在文本框中只允许前两个和后两个是字母,中间是数字(例如 EE123456789IN)
问题描述
嘿,我正在尝试验证一个文本框,以获取前两个和后两个字符是字母,其余的是介于 13 长度之间的数字。例如 EE123456789IN 。如何在文本框中验证这一点,并在提交按钮上进行检查。`
function Validate_Post() {
var tb = document.getElementById("<%=txt_SpeedPost.ClientID%>").value;
var a = tb.charAt(0);
var b = tb.charAt(1);
var c = tb.charAt(11);
var d = tb.charAt(12);
if ((a != 'E' && b != 'E') || (c != 'I' && d != 'N') || d != 'N') {
alert("Invalid Speed Post Ref. No The Speed Post Ref No must be like this EE123456789IN") enter code here
}
for (var i = 3; i < 11; i++) {
if ((tb.charAt(i) >= 48 && tb.charAt(i) <= 57) || (tb.charAt(i) >= 96 && tb.charAt(i) <= 126)) {
alert("Enter Number after EE e.g EE123456789IN")
}
}
return true
}
<asp:Button ID="Btn_submit" runat="server" Text="SUBMIT" align="center" Width="168px " OnClick="Btn_submit_Click" OnClientClick="Validate_Post();" style="font-weight: 700"/>
我想要这样的结果,文本框应该验证例如 EE123456789IN,最大长度应该是 13,文本框只接受这种输入。如果不是,那么它将在提交期间显示错误。你能帮我解决这个问题吗?
解决方案
我不知道 ASP.NET,但你可以用没有 Javascript 的纯 HTML 来做
<form action='/somewhere' method='post'>
<input type='text' pattern='[A-Z]{2}\d{9}[A-Z]{2}' required />
<input type='submit' />
</form>
推荐阅读
- google-cloud-platform - 如果 Cloud Spanner 失败会发生什么
- c - 将十六进制值存储为整数
- c++ - 为什么VS和Linux对同一个递归函数有不同的结果
- postgresql - 查询以返回每个表的用户权限,每个结果行一个权限
- angular - 虽然拖放内部元素相互重叠
- flow-project - 未在 conda env 创建中安装流包
- ruby - 如何翻译/映射哈希
- sqlalchemy - 在哪里使用多个 Python 模块调用 sqlalchemy configure_mappers
- javascript - Angular 7使用前进按钮导航时丢失状态
- cordova - 电容相机在 Android 5 上抛出“无法在磁盘上创建照片”