这是使用 jquery 实现表单验证的正确代码吗? [复制]

Posted

技术标签:

【中文标题】这是使用 jquery 实现表单验证的正确代码吗? [复制]【英文标题】:Is this the right code to achieve form validation using jquery? [duplicate] 【发布时间】:2019-08-30 20:59:45 【问题描述】:

我正在尝试使用以下代码验证输入文本字段,但是当我输入任何字母时它会抛出 else 但我希望它允许任何字母但不以数字开头

     <div class="input-group">
        <label for="c_name">Cashier Name
        <input id="c_name" type="text" name="cashier_name"> 
        </label>
    </div>

$(document).ready(function()
    $( "#c_name" ).keyup(function() 

        var data= /^[A-Za-z]+$/;
    if ($("#c_name").val() == data) 
        $(this).addClass("cash");
        $(this).removeClass("cashs");
    else
     $(this).addClass("cashs");
     $(this).removeClass("cash");
    

);

); ```

I expect it to add a class cash if it begins with a letter.

【问题讨论】:

【参考方案1】:

data 是 RexExp。要检查字符串是否与正则表达式匹配,您应该使用 RegExp.prototype.test

if (data.test($("#c_name").val()))

$(document).ready(function()
    $( "#c_name" ).keyup(function() 
        var regex = /^[A-Za-z]+$/;
        if (regex.test($("#c_name").val())) 
            $(this).addClass("cash");
            $(this).removeClass("cashs");
         else 
            $(this).addClass("cashs");
            $(this).removeClass("cash");
        
    );
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="input-group">
        <label for="c_name">Cashier Name
        <input id="c_name" type="text" name="cashier_name"> 
        </label>
    </div>

【讨论】:

以上是关于这是使用 jquery 实现表单验证的正确代码吗? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

jQuery 验证插件在 WordPress 中不起作用

用jquery怎么验证名字在输入完之后马上提示有没有重复的代码

使用 Bootstrap (jQuery) 进行表单验证

jQuery 验证 - 不表单提交

Jquery验证只能验证表单吗,能验证表单里指定的DIV吗

jQuery表单验证案例