嘿伙计们,我想在 JavaScript 中验证姓名等。
var regex = /^[A-Za-z ]{1,20}$/;
当我输入 harun(这显然是 true)但它给出 false,当我输入 harun12 它也给出 false。谁能告诉我这段代码做错了什么?
函数检查() {
var name = document.getElementById('<%= txt2.ClientID%>');
var surname = document.getElementById('<%= txt3.ClientID%>');
var textregex = /^[A-Za-z ]{1,20}$/;
alert(textregex.test("harun"));
if ((name.value == '') || (textregex.test(name) == false) ) {
$("#name_error").dialog("open");
$("#txt2").val('');
}
if ((surname.value == '') || (textregex.test(surname) == false){
$("#surname_error").dialog("open");
$("#txt3").val('');
}
}
});
<asp:TableRow ID="TableRow2" runat="server">
<asp:TableCell>Name:</asp:TableCell><asp:TableCell>
<asp:TextBox ID="txt2" runat="server" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txt2" />
</asp:TableCell>
</asp:TableRow>
<asp:TableRow ID="TableRow3" runat="server">
<asp:TableCell>Surname:</asp:TableCell><asp:TableCell>
<asp:TextBox ID="txt3" runat="server"/>
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="txt3" />
</asp:TableCell>
</asp:TableRow>
</asp:Table>
最佳答案
根据您的评论name
指的是dom对象而不是它的值,所以使用
alert(textregex.test(name.value));
// --^--
或
var name = document.getElementById('<%= name.ClientID%>').value;
// --^--
更新
if ((name.value == '') || (textregex.test(name.value) == false)) {
// --^--
$("#name_error").dialog("open");
$("#txt2").val('');
}
if ((surname.value == '') || (textregex.test(surname.value) == false)) {
// --^--
$("#surname_error").dialog("open");
$("#txt3").val('');
}
关于Javascript 姓名验证不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33038095/