Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 必须使用JS使用hypen进行月验证_Javascript_Jquery_Html - Fatal编程技术网

Javascript 必须使用JS使用hypen进行月验证

Javascript 必须使用JS使用hypen进行月验证,javascript,jquery,html,Javascript,Jquery,Html,需要使用像1-2月,2-3月这样的宣传来验证这个月。。。同样地在这里,我遵循了代码 函数myFunction(){ var patt=/^(([“一月”]+)|([“二月”]+))$/ text=document.getElementById(“p01”).innerHTML; document.getElementById(“demo”).innerHTML=patt.test(text); } 一月至二月 试试看 这里是一种方法。这样做的目的是获取月份字符串,用连字符分隔,并测试它是否有一

需要使用像1-2月,2-3月这样的宣传来验证这个月。。。同样地在这里,我遵循了代码

函数myFunction(){
var patt=/^(([“一月”]+)|([“二月”]+))$/
text=document.getElementById(“p01”).innerHTML;
document.getElementById(“demo”).innerHTML=patt.test(text);
}
一月至二月

试试看

这里是一种方法。这样做的目的是获取月份字符串,用连字符分隔,并测试它是否有一组预定义的moth缩写

function myFunction() {

   var monthsAbvs = ['JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN', 'JUL', 'AUG', 'SEP', 'OCT', 'NOV', 'DEC']


   var monthPattern = document.getElementById("p01").innerHTML;

   var months = monthPattern.split('-');     //This creates an array with two separated strings

   if (months.length > 2)                     //Only two month abbreviations are expected
      return false;

   if (monthsAbvs.indexOf(months[0]) < 0 || (monthsAbvs.indexOf(months[1]) < 0)   //Both montsh should be in our list
      return false;


   return true;   //Everything is good by here 


}
函数myFunction(){
var monthsAbvs=[‘一月’、‘二月’、‘三月’、‘四月’、‘五月’、‘六月’、‘七月’、‘八月’、‘九月’、‘十月’、‘十一月’、‘十二月’]
var monthPattern=document.getElementById(“p01”).innerHTML;
var months=monthPattern.split('-');//这将创建一个包含两个分隔字符串的数组
if(months.length>2)//只需要两个月的缩写
返回false;
if(monthsAbvs.indexOf(monthsAbvs.indexOf(months[0])<0 | |(monthsAbvs.indexOf(months[1])<0)//两个montsh都应该在我们的列表中
返回false;
return true;//这里一切都很好
}

这里有一种方法可以做到这一点。方法是取月份字符串,用连字符分隔,然后测试它是否有一组预定义的moth缩写

function myFunction() {

   var monthsAbvs = ['JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN', 'JUL', 'AUG', 'SEP', 'OCT', 'NOV', 'DEC']


   var monthPattern = document.getElementById("p01").innerHTML;

   var months = monthPattern.split('-');     //This creates an array with two separated strings

   if (months.length > 2)                     //Only two month abbreviations are expected
      return false;

   if (monthsAbvs.indexOf(months[0]) < 0 || (monthsAbvs.indexOf(months[1]) < 0)   //Both montsh should be in our list
      return false;


   return true;   //Everything is good by here 


}
函数myFunction(){
var monthsAbvs=[‘一月’、‘二月’、‘三月’、‘四月’、‘五月’、‘六月’、‘七月’、‘八月’、‘九月’、‘十月’、‘十一月’、‘十二月’]
var monthPattern=document.getElementById(“p01”).innerHTML;
var months=monthPattern.split('-');//这将创建一个包含两个分隔字符串的数组
if(months.length>2)//只需要两个月的缩写
返回false;
if(monthsAbvs.indexOf(monthsAbvs.indexOf(months[0])<0 | |(monthsAbvs.indexOf(months[1])<0)//两个montsh都应该在我们的列表中
返回false;
return true;//这里一切都很好
}

很抱歉,我无法添加评论,但您的问题不是很清楚,如果您想验证您是否有3个大写字母后跟连字符,然后是大写字母字符,那么您可以使用以下内容:

/[A-Z]+\-[A-Z]+/

或者只复制三个字母,如: /[A-Z][A-Z][A-Z]-[A-Z][A-Z][A-Z]/

这当然不能阻止几个月的泄漏。
如果我没有正确理解,请添加评论!

很抱歉,我无法添加评论,但您的问题不是很清楚,如果您想验证您是否有3个大写字母,后面是连字符,然后是大写字母,那么您可以使用以下内容:

/[A-Z]+\-[A-Z]+/

或者只复制三个字母,如: /[A-Z][A-Z][A-Z]-[A-Z][A-Z][A-Z]/

这当然不能阻止几个月的泄漏。
如果我没有正确理解,请添加一条注释!

请查看下面的代码段和相关注释。为了避免错误,您需要执行以下几项检查

function validateMonthRange() {
    var months = ['JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN', 'JUL', 'AUG', 'SEP', 'OCT', 'NOV', 'DEC'];  //Array of months
    var monthVal = $('selector').split('-'); //get the 2 months value
    if(monthVal.length == 2) {  //if there are 2 values only
        var startIndex = months.indexOf(monthVal[0].toUpperCase());
        var endIndex = months.indexOf(monthVal[1].toUpperCase());
        if(startIndex >= 0 && endIndex >= 0 && startIndex <= endIndex) {
            //valid if both values are in array and start month is less than or equal to the end month
        }
    }
函数validateMonthRange(){
var months=['JAN','FEB','MAR','APR','MAY','JUN','JUL','AUG','SEP','OCT','NOV','DEC'];//月数组
var monthVal=$('selector').split('-');//获取2个月的值
如果(monthVal.length==2){//如果只有2个值
var startIndex=months.indexOf(monthVal[0].toUpperCase());
var endIndex=months.indexOf(monthVal[1].toUpperCase());

如果(startIndex>=0&&endIndex>=0&&startIndex,请参阅下面的代码段和相关注释。要使其简单易懂,您需要执行以下几项检查

function validateMonthRange() {
    var months = ['JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN', 'JUL', 'AUG', 'SEP', 'OCT', 'NOV', 'DEC'];  //Array of months
    var monthVal = $('selector').split('-'); //get the 2 months value
    if(monthVal.length == 2) {  //if there are 2 values only
        var startIndex = months.indexOf(monthVal[0].toUpperCase());
        var endIndex = months.indexOf(monthVal[1].toUpperCase());
        if(startIndex >= 0 && endIndex >= 0 && startIndex <= endIndex) {
            //valid if both values are in array and start month is less than or equal to the end month
        }
    }
函数validateMonthRange(){
var months=['JAN','FEB','MAR','APR','MAY','JUN','JUL','AUG','SEP','OCT','NOV','DEC'];//月数组
var monthVal=$('selector').split('-');//获取2个月的值
如果(monthVal.length==2){//如果只有2个值
var startIndex=months.indexOf(monthVal[0].toUpperCase());
var endIndex=months.indexOf(monthVal[1].toUpperCase());

如果(startIndex>=0&&endIndex>=0&&startIndex,您可以使用regex从
p
标记中获取月份名称,并使用
array#every
检查每个月是否存在于
months
数组中

var myFunction=function(){
变量月份=['1月'、'2月'、'3月'、'4月'、'5月'、'6月'、'7月'、'8月'、'9月'、'10月'、'11月'、'12月'],
text=document.getElementById(“p01”).innerHTML;
var match=text.match(/(\w+{3}-(\w+{3}/g);
document.getElementById(“demo”).innerHTML=match?match[0]。拆分('-')。每个月=>months.includes(month)):false;
}
一月至二月

试试看

您可以使用regex从
p
标记中获取月份名称,并使用
array\every
检查每个月份是否存在于
months
数组中

var myFunction=function(){
变量月份=['1月'、'2月'、'3月'、'4月'、'5月'、'6月'、'7月'、'8月'、'9月'、'10月'、'11月'、'12月'],
text=document.getElementById(“p01”).innerHTML;
var match=text.match(/(\w+{3}-(\w+{3}/g);
document.getElementById(“demo”).innerHTML=match?match[0]。拆分('-')。每个月=>months.includes(month)):false;
}
一月至二月

试试看

谢谢@Charlie。你能用正则表达式方法提供这个吗???谢谢@Charlie。你能用正则表达式方法提供这个吗???谢谢@hassan。这个很好。但是当我尝试

?JAN

这也是,它说的是真的。我想要一个月的3个字母和另一个月的2个字母,中间的hypen表示它只需要接受。除其他任何字母外,它也不会接受。请建议我更新了解决方案,此解决方案将获取月份字符串,前提是它的格式是两个三个单词之间用-.T分隔hanks@hassan。这个很好。但是当我尝试时,JAN也这么说。我想要3个字母