JavaScript文本验证不适用于正则表达式

JavaScript文本验证不适用于正则表达式,javascript,html,regex,validation,alphabet,Javascript,Html,Regex,Validation,Alphabet,我试图通过JavaScript验证HTML文档中的Firstname和姓氏字段。验证必须提示用户是否插入了有效的名称/姓氏,这意味着输入框中不应包含数字或奇怪字符 我一直在搜索stackoverflow和其他类似的网站寻找解决方案,但不幸的是,我没有找到我想要的确切解决方案,所以我希望这个网站周围的人能伸出援助之手 这是我的HTML代码: <form name="contact" method="post" action="contact.php">

我试图通过JavaScript验证HTML文档中的Firstname和姓氏字段。验证必须提示用户是否插入了有效的名称/姓氏,这意味着输入框中不应包含数字或奇怪字符

我一直在搜索stackoverflow和其他类似的网站寻找解决方案,但不幸的是,我没有找到我想要的确切解决方案,所以我希望这个网站周围的人能伸出援助之手

这是我的HTML代码:

<form name="contact" method="post" action="contact.php">
                <table width="200" border="0" align="center">
                  <tr>
                    <td><p class="pagetext">Name:</p></td>
                    <td><input type="text" name="fname" id="fname" size="30"/></td>
                  </tr>
                  <tr>
                    <td><p class="pagetext">Surname:</p></td>
                    <td><input type="text" name="sname" id="sname" size="30"/></td>
                  </tr>
                  <tr>
                    <td><p class="pagetext">Email:</p></td>
                    <td><input type="text" name="email" id="email" size="30"/></td>
                  </tr>
                  <tr>
                    <td><input class="btns" type="submit" onclick="validationMain();validationContact();validationErrors();" value="Submit"/></td>
                    <td><input class="btns" type="submit" onclick="validationReset()" value="Reset"/></td>
                  </tr>
                </table>
</form>
主要的问题是,无论我在文本字段中输入什么名字或姓氏(即使它们是没有数字和特殊字符的正确名字或姓氏),它都会提示它们是无效的(不应该是这种情况),所以我猜我的if条件有问题

提前感谢您的时间、帮助和提供的任何相关信息:)


我希望我提供了足够的信息,如果没有请让我知道

您没有正确使用表达式

textOnly.test(firstname.value);

test
检查表达式是否匹配。

下一行将文本字段中的值与正则表达式的属性值进行比较

if (firstname.value != textOnly.value){

您需要使用regexp测试该值是否有效。

您是否使用过类似或的调试器来逐步检查代码?
if (firstname.value != textOnly.value){