Javascript 正则表达式在jsp java中不适用于数字

Javascript 正则表达式在jsp java中不适用于数字,javascript,java,jsp,Javascript,Java,Jsp,我想要的是,如果输入文本框值的格式是否为1-10数字连字符数字,我这样做是为了一个模式匹配/^[\d]+[-][\d]+?$/g,但它只允许0-9个单位数,我不接受11-20个双位数,我需要允许任何类型的数字,如10-11,我如何做到这一点 var txt = document.getElementById("txtShareCount").value; if(txt.match(/^[\d]+([-][\d]+)?$/g)){

我想要的是,如果输入文本框值的格式是否为1-10数字连字符数字,我这样做是为了一个模式匹配/^[\d]+[-][\d]+?$/g,但它只允许0-9个单位数,我不接受11-20个双位数,我需要允许任何类型的数字,如10-11,我如何做到这一点

var txt =  document.getElementById("txtShareCount").value;      
        if(txt.match(/^[\d]+([-][\d]+)?$/g)){       
            return true;
            }           
        else if(!txt.match( /^[\d]+([-][\d]+)?$/g)){
            alert("Pleae Enter Share count this(1-10) format");
            document.getElementById("txtShareCount").focus();
            return false;
            }
        else{return true;}

regex^[\d]+[-][\d]+?$完成了您需要的功能

这里我将OP post作为可执行代码段发布,以显示他的代码工作正常。我在评论中说他不接受这一点。所以只有我在发布这个片段

1另外,我只应用了修剪

$'ss'。单击函数{ var txt=$txtShareCount.val; ifText.trim.match/^[\d]+[-][\d]+?$/g{ alerthi有效格式; } 否则,如果!txt.trim.match/^[\d]+[-][\d]+?$/g{ alertPleae输入此1-10格式的共享计数; $txtShareCount.focus; 返回false; } 否则{ alerthi有效格式; } };
Java和JSP和它有什么关系呢?所以添加一个+来表示一个或多个我测试过的代码运行良好@Antony@JYoThI,你有没有像这样测试过11-20是的,我也测试过@Antonywhen i take ^[\d]+[-][\d]+?$这个表达式显示错误,它不起作用,也许你需要调整输入或其他什么?此正则表达式绝对适合您的用例。请用绿色勾号标记它,这对将来的用户参考非常有用@Antony