JS中利用正则表达式对输入框内容进行格式校验

JS输入框格式校验


举例如下:

/*
	条件一:限制输入框内的格式必须为 "PK_NODE00000"(前缀PK_NODE固定,后边为五个数字)
	条件二:输入日期不能大于当前年月
*/
			var PK_NODE="PK_NODE00011";
			var REGULAR_TIME="202010";
 
			var reg = new RegExp("^[0-9]*$");
            var defa=PK_NODE.slice(0,7);
            var num=PK_NODE.slice(7);
            var len=PK_NODE.length;
			var timeM=REGULAR_TIME.slice(4);
			var timeY=REGULAR_TIME.slice(0,4);
			var Nzero=REGULAR_TIME.slice(4,6);
            var tm=new Date();
            var Y=tm.getFullYear()+'';//这里的''必须加,将年转为字符串,不然后边 var def=Y+M;会出现bug,
            var M=tm.getMonth()+1;
 			if(M<10){ M='0'+M;}  var fmtDate=Y+M;
			
 			if(defa!='PK_NODE'||!reg.test(num)||len!=12){
                alert('输入格式不合法!', 'warning');
                return;
            }

			if(timeM>12||timeY<1970||Nzero==00){
                alert('输入日期不合法,格式如:\'202001\'', 'warning');
                return;
            }//这里判断是防止输入月份大于12月以及防止输入‘201900’这类其他情况,例如:‘201913’,‘202000’,都将提示格式不合法。

			if(REGULAR_TIME>fmtDate){
                alert('输入日期超出查询范围!', 'warning');
                return;
            }
如有不足之处,还请大佬们能够指出!

猜你喜欢

转载自blog.csdn.net/weixin_45496190/article/details/106305290