常用数据校验

*** 判断页面中指定id的元素是否存在:

 if($('#myid').length > 0){
  //存在
}

1、限制输入值只能为英文或中文:

//限制输入值只能为英文或中文:
var reg_projectCooperation = /^[a-zA-Z\u4E00-\u9FA5]+$/;
var projectCooperation = $('input[name=projectCooperation]').val().trim();
if(projectCooperation != '' && !reg_projectCooperation.test(projectCooperation)){
    alert("项目合作只能输入中文及英文!");
    $('input[name=projectCooperation]').focus();//焦点移至输入框
    return;
}else{$('input[name=projectCooperation]').val(projectCooperation);}

  

 2、email:

String regex = "\\w+(\\.\\w)*@\\w+(\\.\\w{2,3}){1,3}";
if(!"@163.com".matches(regex)){
  //email地址有误
}
var reg=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
if(!reg.test(invoiceEmail)){
  alertMessageContent("请填写正确格式的接收邮箱!");
}

  

 3、数字

String regex = "^[0-9]*$";
if(!"3sf535".matches(regex)){
  //有非数字
}

4、页面上传文件的校验

//logo图:非必填,不超过200KB的图片,推荐尺寸为180*180px,格式支持png和jpg;
var logoFile = $("#logoFile").val();
if(null != logoFile && '' != logoFile.trim()){
  //文件格式验证
  var extStart = logoFile.lastIndexOf(".");
  var ext = logoFile.substring(extStart, logoFile.length).toUpperCase();
  if (ext != ".PNG" && ext != ".JPG") {
    $("#logoFileEm").html("雪场logo图的格式须为jpg或png图片!");
    minMsgShow('danger','信息提示','雪场logo图的格式须为jpg或png图片!');
    return false;
  }
  //文件大小验证
  var file_size = document.getElementById("logoFile").files[0].size;
  if (file_size <= 0 || file_size > 200 * 1024) {
    $("#logoFileEm").html("雪场logo图大小须小于200KB!");
       minMsgShow('danger','信息提示','雪场logo图大小须小于200KB!');
       return false;
   };
}

 5、输入的实时校验(包括直接输入和粘贴)

<input type="text" id="myid" name="myname" style="width:20px;" class="required" 
onkeyup="value=value.replace(/[^\d^.]/g,'')" 
onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d^.]/g,''))" />
 

 onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d^.]/g,''))"

每当用户执行粘贴操作前,先取出剪贴板的内容字符串,删除不是数字的字符,只保留数字,然后再粘贴,而不是直接粘贴。

onbeforepaste :在用户执行粘贴动作之前

clipboardData.setData('text', xxx) :把xxx的内容复制到剪贴板clipboardData.getData('text') :读出当前剪贴板里的内容

.replace(/[^\d]/g,'') 是正则替换,把里面除了数字以外的字符全部都去掉.

  6、校验开始时间不大于结束时间

<input type="text" id="paySuccessTimeStart" name="paySuccessTimeStart" size="19" style="width:149px;" onFocus="WdatePicker({startDate:'%y-%M-%d 00:00:00',dateFmt:'yyyy-MM-dd HH:mm:00',alwaysUseStartDate:true})" readonly="true" value="${paramMap.paySuccessTimeStart }"/> 至
<input type="text" id="paySuccessTimeEnd" name="paySuccessTimeEnd" size="19" style="width:149px;" onFocus="WdatePicker({startDate:'%y-%M-%d 00:00:00',dateFmt:'yyyy-MM-dd HH:mm:00',alwaysUseStartDate:true})"readonly="true" value="${paramMap.paySuccessTimeEnd }"/>
// 查询校验,校验起始时间必须小于截至时间
function validateTimePeriod(begin, end) {  
  
    if (!(begin instanceof jQuery)) {  
        begin = $(begin);  
    }  
    if (!(end instanceof jQuery)) {  
        end = $(end);  
    }  
  
    var beginString = new String(begin.val());  
    var endString = new String(end.val());  
  
    if (!(beginString == null || beginString == '') && !(endString == null || endString == '')) {  
        var beginTime = new Date(beginString);  
        var endTime = new Date(endString);  
  
        if (beginTime <= endTime) {  
            return true;  
        } else {  
            return false;  
        }  
    }  
    return true;  
  
}

//使用
if($("#paySuccessTimeStart").val() == "" || $("#paySuccessTimeEnd").val() == "" || !validateTimePeriod($("#paySuccessTimeStart"),$("#paySuccessTimeEnd"))){
				alert("支付时间必填,且开始时间要小于结束时间!");
				return;
			}

   6、校验字符串为以数字开头、以0个或多个,分隔、以数字结尾。eg:123,456或789

//要求目标字符串为以数字开头、以0个或多个,分隔、以数字结尾
String regex = "^(\\d+[,])*(\\d+)$";
if(!"123a456".matches(regex)){
    System.out.println("格式有误!");
}

猜你喜欢

转载自tjy86.iteye.com/blog/2356720