Javascript 必须使用JS使用hypen进行月验证
需要使用像1-2月,2-3月这样的宣传来验证这个月。。。同样地在这里,我遵循了代码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); } 一月至二月 试试看 这里是一种方法。这样做的目的是获取月份字符串,用连字符分隔,并测试它是否有一
函数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个字母