正则表达式验证

RegEx validation?

本文关键字:验证 正则表达式      更新时间:2023-09-26

我在使用 RegEx、fname、lname 验证我的表单时遇到了一些问题,但经过测试,当我输入正则表达式时它不起作用,几乎就像它没有在表单上阅读它一样,我一遍又一遍地收到相同的警报,就好像字段为空或填写错误一样。 任何帮助将不胜感激!

function validateForm(){
    var name_value =  document.getElementById("name")
    var flname = (/^[a-zA-Z]$/)
    if (!document.myForm.fname.value.match('/^[a-zA-Z]*$/') ) {
        alert("Please fill in your First name!");
        return false;
    }
    if (!document.myForm.lname.value.match('/^[a-zA-Z]*$/')) {
        alert("Please fill in your Last name!");
        return false;
    }

您可以使用 HTML5 验证:

<form>
  <input id="fname" required pattern="[a-zA-Z]+" />
  <!-- Note that you can't actually submit since it's in a stack snippet -->
  <button type="submit">Submit!</button>
</form>

这将自动告诉用户输入无效,如果它是空白或与正则表达式不匹配:/[a-zA-Z]+ .

使用RegExp实例的函数test不要使用字符串,当然除非在构造函数RegExp。顺便说一句,您可以添加required属性以使事情无忧无虑。

function validateForm() {
    var name_value = document.getElementById("name"), regx  = /^[a-zA-Z]$/;
    if (!regx.test(document.myForm.fname.value)) {
        alert("Please fill in your First name!");
        return false;
    }
    if (!regx.test(document.myForm.lname.value)) {
        alert("Please fill in your Last name!");
        return false;
    }
}