检查输入Jquery的起始字符的值

Check value of starting characters of an input Jquery

本文关键字:字符 Jquery 检查 输入      更新时间:2023-09-26

我有一个文本字段,可以接受任何类型的输入。根据输入,我需要隐藏一些字段,取消隐藏其他字段。然而,我想在第一个条件中放入另一个条件,以检查输入值的前3个字符

这是我的第一个条件的代码:

$("#accountcodes").live("focusout",function(){
    var code = $(this).val();
    if(code>30000){ 
    alert("T1 to T4 codes needed");
    $(this).parents("tr").find('#T1').removeAttr('hidden','hidden');
    $(this).parents("tr").find('#T2').removeAttr('hidden','hidden');
    $(this).parents("tr").find('#T3').removeAttr('hidden','hidden');
    $(this).parents("tr").find('#T4').removeAttr('hidden','hidden');    
    }
    })

我想在if语句中放入另一个条件(如果在if中),以检查前3个字符是否以310或311开头,然后执行其他操作,例如,如果用户输入31102,则另一个字段被取消隐藏e.t.c。我不知道如何在Jquery中执行此操作。我应该使用regex吗?我要取输入的值,去掉前三个字符并检查它吗?如有任何帮助,将不胜感激

所以您只想了解substr()code.substr(0,3)将为您获取前三个字符。

或者,您可能希望使用正则表达式更容易地查找310和311,在这种情况下,您需要code.match(/^31[01]/)


var code = $(this).val();
var firstThreeChars = code.substr(0, 3);

您的值似乎总是数字。您不需要太多jquery就可以实现这一点。

$("#accountcodes").live("focusout",function(){
    var code = $(this).val();
    if(code > 30000){
        //Note: For any non-numeric value, this condition will always be false
        alert("T1 to T4 codes needed");
        var p = $(this).parents("tr");
        p.find('#T1, #T2, #T3, #T4').removeAttr('hidden');
        if ((code - 31000) > 102){ // Your other condition check can look like this
            // unhide other fields
        }
    }
});

希望这会有所帮助。快乐编码。

你的问题有你的答案,你可以用多种方法

  1. 子字符串值并检查值。2.go for包含jquery关键字[api.jquery.com/contains selector/][1]