js 文本输入判断 及 正则表达式判断 总结

来源:互联网 发布:淘宝中差评沟通技巧 编辑:程序博客网 时间:2024/04/29 23:04

(1)判断文本输入内容是否为空function IsNull(fieldid){ varstr =document.getElementById_x(fieldid).val.trim(); if(str.length==0) {          alert('对不起,文本框不能为空或者为空格!');     return; } }

(2)判断输入内容的长度是否在范围内

function IsTrLength(fieldid,mix,max){ var str =document.getElementById_x(fieldid).val.trim(); if(str.length> max || str.length <mix) {    alert("请输入min-max的长度");           return false; } return tr;}

(3)判断日期类型是否为YYYY-MM-DD格式的类型

function IsDate(fieldid){ var str =document.getElementById_x(fieldid).val.trim(); if(str.length!=0)       {  var reg =/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;  varr =str.match(reg);        if(r==null)        alert('对不起,您输入的日期格式不正确!');   returnfalse; }  return tr;}

(4)判断日期类型是否为YYYY-MM-DD hh:mm:ss格式的类型functionIsDateTime(fieldid){  var str =document.getElementById_x(fieldid).val.trim(); if(str.length!=0) {  var reg =/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})(\d{1,2}):(\d{1,2}):(\d{1,2})$/;  varr = str.match(reg);  if(r==null)  alert('对不起,您输入的日期格式不正确!');  returnfalse; }  returntr;}

(5)判断日期类型是否为hh:mm:ss格式的类型functionIsTime(fieldid){ var str =document.getElementById_x(fieldid).val.trim(); if(str.length!=0) {  reg=/^((20|21|22|23|[0-1]\d)\:[0-5][0-9])(\:[0-5][0-9])?$/  if(!reg.test(str))  {  alert("对不起,您输入的日期格式不正确!");     returnfalse;  } } returntr;}(6)判断输入的字符是否为英文字母functionIsLetter(fieldid){ var str =document.getElementById_x(fieldid).val.trim(); if(str.length!=0) {  reg=/^[a-zA-Z]+$/;  if(!reg.test(str))  {   alert("对不起,您输入的英文字母类型格式不正确!");   returnfalse;  } } returntr;}(7)判断输入的字符是否为整数functionIsInteger(fieldid){ var str =document.getElementById_x(fieldid).val.trim(); if(str.length!=0) {  reg=/^[-+]?\d*$/;  if(!reg.test(str))  {                alert("对不起,您输入的整数类型格式不正确!");   returnfalse;  } } returntr;}(8)判断输入的字符是否为双精度function IsDo le(fieldid){ varstr =document.getElementById_x(fieldid).val.trim(); if(str.length!=0) {  reg=/^[-\+]?\d+(\.\d+)?$/;  if(!reg.test(str))  {                 alert("对不起,您输入的双精度类型格式不正确!");   returnfalse;  } } returntr;}(9)判断输入的字符是否为:a-z,A-Z,0-9functionIsString(fieldid){ var str =document.getElementById_x(fieldid).val.trim(); if(str.length!=0) {  reg=/^[a-zA-Z0-9_]+$/;  if(!reg.test(str))  {   alert("对不起,您输入的字符串类型格式不正确!");   returnfalse;  } } returntr;}(10)判断输入的字符是否为中文functionIsChinese(fieldid){ var str =document.getElementById_x(fieldid).val.trim(); if(str.length!=0) {  reg=/^[\Α-\¥]+$/;  if(!reg.test(str))  {   alert("对不起,您输入的字符串类型格式不正确!");   returnfalse;  } }  returntr;}

(11)判断输入的EMAIL格式是否正确functionIsEmail(fieldid){ var str =document.getElementById_x(fieldid).val.trim(); if(str.length!=0) {  reg=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;  if(!reg.test(str))  {                alert("对不起,您输入的字符串类型格式不正确!");   returnfalse;  } } returntr;}(12)判断输入的邮编(只能为六位)是否正确functionIsZIP(fieldid){ var str =document.getElementById_x(fieldid).val.trim(); if(str.length!=0)       {  reg=/^\d{6}$/;  if(!reg.test(str))  {   alert("对不起,您输入的字符串类型格式不正确!");   returnfalse;  } }  returntr;}(13)判断输入的数字不大于某个特定的数字functionMaxVal(fieldid){ var val =document.getElementById_x(fieldid).val.trim();  if(str.length!=0) {  reg=/^[-+]?\d*$/;  if(!reg.test(str))  {//判断是否为数字类型   if(valparseInt('123'))//“123”为自己设定的最大值   {    alert('对不起,您输入的数字超出范围');    returnfalse;   }  } } return;}(14)判断输入的是否是电话号码functionIsPhone(fieldid){  var str =document.getElementById_x(fieldid).val.trim(); if(str.length!=0) {  reg=/^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/;  if(!reg.test(str))  {//判断是否为数字类型   returnfalse;  } } return tr;}(15)判断输入的是否是手机号码functionIsMobile(fieldid){ var str =document.getElementById_x(fieldid).val.trim(); if(str.length!=0) {  reg=/^((\(\d{2,3}\))|(\d{3}\-))?13|15\d{9}$/;  if(!reg.test(str))  {   returnfalse;  } } returntr;}(16)判断输入的是否为urlfunction IsUrl(fieldid){ varstr =document.getElementById_x(fieldid).val.trim(); if(str.length!=0) {  reg=/^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^\"\"])*$/;  if(!reg.test(str))  {   returnfalse;  } } returntr;}(17)判断输入的是否为idCardfunctionIsIdCard(fieldid){ var str =document.getElementById_x(fieldid).val.trim(); if(str.length!=0) {  reg=/^\d{15}(\d{2}[A-Za-z0-9])?$/;  if(!reg.test(str))  {   returnfalse;  } } returntr;}(18)判断输入的是否为QQfunction IsQQ(fieldid){ var str=document.getElementById_x(fieldid).val.trim(); if(str.length!=0) {  reg=/^[1-9]\d{4,10}$/;  if(!reg.test(str))  {   returnfalse;  } } returntr;}

//为上面提供各个JS验证方法提供.trim()属性

String.prototype.trim=function(){ returnthis.replace(/(^\s*)|(\s*$)/g, "");}test.htmlscripttype="text/javascript" src="scripts/valid.js"charset="UTF-8"/scriptscript type="text/javascript"!--functioncClick(){ if(!IsTrLength("phone",7,20)) {  alert("电话号不对,请输入");  document.getElementById_x("phone").focus();  returnfalse; }}//--input type="s mit" onclick="returncheck()"

 

在b/s程序设计中,经常需要向一个输入框输入日期或时间,并验证输入是否有效。通常的验证方法是在提交的时候进行字符串验证,如果是合法的日期时间则正常提交,否则取消提交并给出错误信息。或者,将日期时间的输入变成几个下拉列表框,由用户选择年月日时分秒。这里给出一个用javascript编写的日期时间输入验证脚本。这个脚本可以使一个普通的输入框变成日期时间输入框。你只能在这个输入框里输入日期时间格式的字符串,而不允许你输入任何其他的字符。当你输入非法字符时,它并不是不负责任地弹出错误对话框,而是完全过滤掉你的输入以保证你输入框的内容绝对是合法的日期时间格式。事实上,你可以向这个脚本中添加其他验证函数,让这个脚本可以控制其它类型格式的输入,例如:数字、电子邮件、用户ID等等。代码如下:scriptfunctionisTime(str){var a = str.match(/^(\d{0,2}):(\d{0,2}):(\d{0,2})$/);if(a == null)return false;if (a[1]=24 || a[2]=60 || a[3]=60)returnfalse;return tr;}function isDateTime(str){var a =str.match(/^(\d{0,4})-(\d{0,2})-(\d{0,2})(\d{0,2}):(\d{0,2}):(\d{0,2})$/);if (a == null) return false;if (a[2]=13 || a[3]=32 || a[4]=24 || a[5]=60 || a[6]=60) returnfalse;return tr;}function isDate(str){ var a =str.match(/^(\d{0,4})-(\d{0,2})-(\d{0,2})$/); if(a == null) return false; if (a[2]=13 || a[3]=32 || a[4]=24)  returnfalse; return tr;}functionvalidate(obj,type){ varrange=obj.createTextRange(); var text =range.text; var selrange =document.selection.createRange(); var seltext =selrange.text; var startpos = 0,endpos =0;while(selrange.compareEndPoints("StartToStart",range)0) {  selrange.moveStart("character",-1);  startpos++; } while(selrange.compareEndPoints("EndToStart",range)0) {  selrange.moveEnd("character",-1);  endpos++; } if(event.keyCode=48) {  varkeytext =String.fromCharCode(event.keyCode);  text= text.s string(0,startpos) + keytext + text.sstring(endpos,text.length); } elseif(event.keyCode ==46) {  //delete  if(startpos== endpos)  text = text.sstring(0,startpos) + text.sstring(startpos+1,text.length);  elsetext = text.s string(0,startpos) + text.sstring(endpos,text.length); } elseif(event.keyCode ==8) {  if(startpos==endpos)   text =text.s string(0,startpos-1) + text.sstring(startpos,text.length);  elsetext = text.s string(0,startpos) + text.sstring(endpos,text.length); } if(event.keyCode==45) {  event.returnVal=false;  return; } varvalid;switch(type) {  case1:valid =isDate(text);break;  case 2:valid= isTime(text);break;  case3:valid =isDateTime(text);break;  default:valid=false; } if(!valid) {  event.returnVal=false; }}/script把上面这段代码放在web页面的任何位置即可。使用方法:日期验证框:inputonkeyDown="validate(this,1)" val="0000-00-00"时间验证框:inputonkeyDown="validate(this,2)" val="00:00:00"日期时间验证框:inputonkeyDown="validate(this,3)" val="0000-00-0000:00:00"我们可以测试一下。在页面上加入以下内容:input id="date"onkeyDown="validate(this,3)" val="0000-00-00

 

(19)时间验证//00:00:00functionisTime(str){  var a =str.match(/^(\d{0,2}):(\d{0,2}):(\d{0,2})$/);  if(a == null) return false;  if (a[1]>=24 ||a[2]>=60 || a[3]>=60) return false;  returntr; } (20)日期时间验证//0000-00-00 00:00:00function isDateTime(str){ var a = str.match(/^(\d{0,4})-(\d{0,2})-(\d{0,2})(\d{0,2}):(\d{0,2}):(\d{0,2})$/);  if (a ==null) return false;  if ( a[2]>=13 || a[3]>=32 || a[4]>=24 ||a[5]>=60 || a[6]>=60)  return false;  return tr; }(21)日期验证//0000-00-00function isDate(str){  var a =str.match(/^(\d{0,4})-(\d{0,2})-(\d{0,2})$/);  if(a == null) return false;  if (a[2]>=13 || a[3]>=32 || a[4]>=24)  returnfalse;   return tr;}


0 0
原创粉丝点击