嘿,我正在尝试验证一个文本框,以使前两个字符和后两个字符是字母,其余的都是介于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,文本框仅接受此类输入。如果没有,它将在提交期间显示错误。你能帮我这个忙吗?
答案 0 :(得分:2)
我不了解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>
答案 1 :(得分:0)
请使用以下代码,如果您遇到任何问题或需要任何更改,请告诉我。
SpeedPost:
<asp:TextBoxID="txt_SpeedPost" runat="server" maxlength=13 />
<asp:Button ID="Btn_submit" runat="server" Text="SUBMIT" align="center" Width="168"
OnClick="Btn_submit_Click" OnClientClick="return Validate_Post();" style="font-
weight: 700"/>
<script>
function Validate_Post() {
var tb = document.getElementById("<%=txt_SpeedPost.ClientID%>").value;
var length = tb.length;
var first2 = tb.substr(0, 2);
var last2 = tb.substr(length - 2, length);
//alert(first2 + '::' + last2);
var isAlphabet = allLetter(first2+last2);
//if(first2 != 'EE' || last2 != 'IN')
if(!isAlphabet)
{
alert("Invalid Speed Post Ref. No The Speed Post Ref
No must be like this EE123456789IN");
return false;
}
var centerLength = length - first2.length - last2.length;
var centerChars = tb.substr(2, centerLength);
//alert(centerChars);
if (isNaN(centerChars))
{
// not a number
alert('not a number');
return false;
}
return true;
}
function allLetter(inputtxt)
{
var letters = /^[A-Za-z]+$/;
if(inputtxt.match(letters))
{
return true;
}
else
{
return false;
}
}
</script>