`
lbyzx123
  • 浏览: 468142 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

常用正则表达式

阅读更多

/*******************************************************************************
 * @author 

 * @date 2009-03-12
 * @param objectId,strType,errorInfo
 * @version 1.0
 *
 * 简单验证表单元素并提示错误信息需要jquery 基本包支持,引用页面需要有信息提示层 例如: var
 * cerp_validator_divId="#cerp_validator_div"; 信息提示层的样式就是 #cerp_validator_div
 */

// 处理 和其他的包的冲突 $ 符号,需要用 jQuery 代替 $ 的写法
jQuery.noConflict();

// 信息提示层的 id 样式
//var cerp_validator_divId = "#cerp_validator_div";

var errorInfo_span= "#errorInfo_span";

// 要处理的元素 ID (已经拼装ID);
var elementId;

// 信息提示 相对 元素的偏移量
var xOffset = 60;
var yOffset = 30;

// 淡入 时间
var fadeInTime = 100;

// 淡出时间
var fadeOutTime = 1500;

/*
 * 1.元素的id 2.元素类型(text,int,float,double,email) 3.如果错误显示的信息
 *
 * 第一个 参数必须, 第二个参数可以为空,默认为text 验证是否为空,第三个参数可以为空 默认为系统提示
 *
 */
function Cerp_form_validator(objectId, strType, errorInfo) {

 elementId = "#" + objectId; // 组装 对象 ID

 var reg = /.+/; // 默认正则 不能为空
 var info = "不能为空!";// 默认提示

 if (strType == "int") {// 如果是 正整数
  reg = /^[1-9]\d*$/;
  info = "请输入正整数!";
 } else if (strType == "-int") {// 如果是整数
  reg = /^-?\\d+$/;
  info = "请输入整数!";
 } else if (strType == "float") {// 如果是正浮点型
  reg = /^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
  info = "请输入正浮点数!";
 } else if (strType == "-float") {// 如果是浮点型
  reg = /^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/;
  info = "请输入浮点数!";
 } else if (strType == "email") {// 验证 email 地址
  reg = /^\w{3,}@\w+(\.\w+)+$/;
  info = "请输入正确的Email格式!";
 }
 // 如果没有信息提示,则启用默认 提示
 if (errorInfo == null || errorInfo == "")
  errorInfo = info;

 // 为元素 增加 失去光标 函数
 jQuery(elementId).blur(function() {
  // 获得要处理的元素值(去掉左右空格)
  var objValue = jQuery.trim(jQuery(elementId).val());
  
  if (objValue.match(reg) == null) {
  jQuery(errorInfo_span).html(errorInfo);
  jQuery(elementId).html("");
  //jQuery(elementId).focus();
  }
  else
  jQuery(errorInfo_span).html("");
  
  /*
  // 验证 正则表达式
  if (objValue.match(reg) == null) {
   // 获得 元素的 坐标
   var offset = jQuery(elementId).offset();
   // 定位显示层的 位置
   jQuery(cerp_validator_divId).css("top",
     (offset.top + yOffset) + "px");
   jQuery(cerp_validator_divId).css("left",
     (offset.left + xOffset) + "px");
   // 显示信息提示
   jQuery(cerp_validator_divId).html(errorInfo);
   // 元素清空 元素获得光标
   jQuery(elementId).val("");
   jQuery(elementId).focus();
   // 信息显示 淡入淡出
   jQuery(cerp_validator_divId).fadeIn(fadeInTime, function() {
      // 淡入后淡出
      jQuery(cerp_validator_divId).fadeOut(fadeOutTime, 0);
     });

  }
  */
 }

 );
 
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics