jq 正则表达式匹配验证文本值大全

3 篇文章 0 订阅
2 篇文章 0 订阅

// ----------------------------------------------------------------------

// <summary>

// 限制只能输入数字

// </summary>

// ----------------------------------------------------------------------

$.fn.onlyNum = function () {

  $(this).keypress(function (event) {

      var eventObj = event || e;

      var keyCode = eventObj.keyCode || eventObj.which;

      if ((keyCode >= 48 && keyCode <= 57))

          return true;

      else

          return false;

  }).focus(function () {

      //禁用输入法

      this.style.imeMode = 'disabled';

  }).bind("paste", function () {

      //获取剪切板的内容

      var clipboard = window.clipboardData.getData("Text");

      if ((/^\d+$/.match(clipboard)) != null) {

          return true;

      } else {

          window.clipboardData.setData("Text", "")

          return false;

      }

  });

};

// ----------------------------------------------------------------------

// <summary>

// 限制只能输入字母

// </summary>

// ----------------------------------------------------------------------

$.fn.onlyAlpha = function () {

  $(this).keypress(function (event) {

      var eventObj = event || e;

      var keyCode = eventObj.keyCode || eventObj.which;

      if ((keyCode >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122))

          return true;

      else

          return false;

  }).focus(function () {

      this.style.imeMode = 'disabled';

  }).bind("paste", function () {

      var clipboard = window.clipboardData.getData("Text");

      if (/^[a-zA-Z]+$/.test(clipboard))

          return true;

      else

          return false;

  });

};

// ----------------------------------------------------------------------

// <summary>

// 限制只能输入数字和字母

// </summary>

// ----------------------------------------------------------------------

$.fn.onlyNumAlpha = function () {

  $(this).keypress(function (event) {

      var eventObj = event || e;

      var keyCode = eventObj.keyCode || eventObj.which;

      if ((keyCode >= 48 && keyCode <= 57) || (keyCode >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122))

          return true;

      else

          return false;

  }).focus(function () {

      this.style.imeMode = 'disabled';

  }).bind("paste", function () {

      var clipboard = window.clipboardData.getData("Text");

      if (/^(\d|[a-zA-Z])+$/.test(clipboard))

          return true;

      else

          return false;

  });

};

// ----------------------------------------------------------------------

// <summary>

// 限制输入双精度数字

// </summary>

// ----------------------------------------------------------------------

$.fn.onlyDouble = function () {

  $(this).keypress(function (event) {

      var eventObj = event || e;

      var keyCode = eventObj.keyCode || eventObj.which;

      if ((keyCode >= 48 && keyCode <= 57) || (keyCode == 46))

          return true;

      else

          return false;

  }).focus(function () {

      //禁用输入法

      this.style.imeMode = 'disabled';

  }).bind(function () {

      //获取剪切板的内容

      var clipboard = window.clipboardData.getData("Text");

      if (/^[-\+]?\d+(\.\d+)?$/.test(clipboard)) {

          $(this).css({ "border": "" });

          return true;

      } else {

          $(this).css({ "border": "1px solid red" });

          return false;

      }

  }).bind("paste", function () {

      //获取剪切板的内容

      var clipboard = window.clipboardData.getData("Text");

      if (/^[-\+]?\d+(\.\d+)?$/.test(clipboard)) {

          $(this).css({ "border": "" });

          return true;

      } else {

          $(this).css({ "border": "1px solid red" });

          //window.clipboardData.setData("Text", "")

          return false;

      }

  });

};

// ----------------------------------------------------------------------

// <summary>

// 限制输入正确的有效的邮箱

// </summary>

// ----------------------------------------------------------------------

$.fn.onlyEmail = function () {

  $(this).focus(function () {

      //禁用输入法

      this.style.imeMode = 'disabled';

  }).bind(function () {

      //获取剪切板的内容

      var clipboard = window.clipboardData.getData("Text");

      if (/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(clipboard)) {

          $(this).css({ "border": "" });

          return true;

      } else {

          $(this).css({ "border": "1px solid red" });

          return false;

      }

  }).bind("paste", function () {

      //获取剪切板的内容

      var clipboard = window.clipboardData.getData("Text");

      if (/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(clipboard)) {

          $(this).css({ "border": "" });

          return true;

      } else {

          $(this).css({ "border": "1px solid red" });

          //window.clipboardData.setData("Text", "")

          return false;

      }

  });

};

// ----------------------------------------------------------------------

// <summary>

// 限制输入正确的手机号

// </summary>

// ----------------------------------------------------------------------

$.fn.onlyPhone = function () {

  $(this).keypress(function (event) {

      var eventObj = event || e;

      var keyCode = eventObj.keyCode || eventObj.which;

      if ((keyCode >= 48 && keyCode <= 57))

          return true;

      else

          return false;

  }).focus(function () {

      //禁用输入法

      this.style.imeMode = 'disabled';

  }).blur(function () {

      if (/^1(3|4|5|7|8)\d{9}$/.test($(this).val()) == false) {

          $(this).focus();

          $(this).css({ "border": "1px solid red" });

          return false;

      }

      else {

          $(this).css({ "border": "" });

          //$(this).css({ "background-color": "#fff3de" });

          return true;

      }

  }).bind("paste", function () {

      //获取剪切板的内容

      var clipboard = window.clipboardData.getData("Text");

      if (/^1(3|4|5|7|8)\d{9}$/.test(clipboard)) {

          return true;

      } else {

          window.clipboardData.setData("Text", "")

          return false;

      }

  });

};

// ----------------------------------------------------------------------

// <summary>

// 限制输入正确的电话号

// </summary>

// ----------------------------------------------------------------------

$.fn.onlyTel = function () {

  $(this).keypress(function (event) {

      var eventObj = event || e;

      var keyCode = eventObj.keyCode || eventObj.which;

      if ((keyCode >= 48 && keyCode <= 57) || (keyCode == 45))

          return true;

      else

          return false;

  }).focus(function () {

      //禁用输入法

      this.style.imeMode = 'disabled';

  }).blur(function () {

      if (/^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}$/.test($(this).val()) == false) { //\d{3}-\d{8}|\d{4}-\d{7}

          $(this).focus();

          $(this).css({ "border": "1px solid red" });

          return false;

      }

      else {

          $(this).css({ "border": "" });

          //$(this).css({ "background-color": "#fff3de" });

          return true;

      }

  }).bind("paste", function () {

      //获取剪切板的内容

      var clipboard = window.clipboardData.getData("Text");

      if (/^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}$/.test(clipboard)) {

          return true;

      } else {

          window.clipboardData.setData("Text", "")

          return false;

      }

  });

};

// ----------------------------------------------------------------------

// <summary>

// 限制输入正确的邮编(只能为六位)

// </summary>

// ----------------------------------------------------------------------

$.fn.onlyZIP = function () {

  $(this).keypress(function (event) {

      var eventObj = event || e;

      var keyCode = eventObj.keyCode || eventObj.which;

      if ((keyCode >= 48 && keyCode <= 57))

          return true;

      else

          return false;

  }).focus(function () {

      //禁用输入法

      this.style.imeMode = 'disabled';

  }).blur(function () {

      if (/^\d{6}$/.test($(this).val()) == false) {

          $(this).focus();

          $(this).css({ "border": "1px solid red" });

          return false;

      }

      else {

          $(this).css({ "border": "" });

          //$(this).css({ "background-color": "#fff3de" });

          return true;

      }

  }).bind("paste", function () {

      //获取剪切板的内容

      var clipboard = window.clipboardData.getData("Text");

      if (/^\d{6}$/.test(clipboard)) {

          return true;

      } else {

          window.clipboardData.setData("Text", "")

          return false;

      }

  });

};

// ----------------------------------------------------------------------

// <summary>

// 限制输入正确的身份证号

// </summary>

// ----------------------------------------------------------------------

$.fn.onlyIDCard = function () {

  $(this).keypress(function (event) {

      var eventObj = event || e;

      var keyCode = eventObj.keyCode || eventObj.which;

      if ((keyCode >= 48 && keyCode <= 57))

          return true;

      else

          return false;

  }).focus(function () {

      //禁用输入法

      this.style.imeMode = 'disabled';

  }).blur(function () {

      if (/(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test($(this).val()) == false) {

          $(this).focus();

          $(this).css({ "border": "1px solid red" });

          return false;

      }

      else {

          $(this).css({ "border": "" });

          //$(this).css({ "background-color": "#fff3de" });

          return true;

      }

  }).bind("paste", function () {

      //获取剪切板的内容

      var clipboard = window.clipboardData.getData("Text");

      if (/(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test(clipboard)) {

          return true;

      } else {

          window.clipboardData.setData("Text", "")

          return false;

      }

  });

};

// ----------------------------------------------------------------------

// <summary>

// 限制输入正确的身份证号

// </summary>

// ----------------------------------------------------------------------

$.fn.onlyQQ = function () {

  $(this).keypress(function (event) {

      var eventObj = event || e;

      var keyCode = eventObj.keyCode || eventObj.which;

      if ((keyCode >= 48 && keyCode <= 57))

          return true;

      else

          return false;

  }).focus(function () {

      //禁用输入法

      this.style.imeMode = 'disabled';

  }).blur(function () {

      if (/[1-9][0-9]{4,}/.test($(this).val()) == false) {

          $(this).focus();

          $(this).css({ "border": "1px solid red" });

          return false;

      }

      else {

          $(this).css({ "border": "" });

          //$(this).css({ "background-color": "#fff3de" });

          return true;

      }

  }).bind("paste", function () {

      //获取剪切板的内容

      var clipboard = window.clipboardData.getData("Text");

      if (/[1-9][0-9]{4,}/.test(clipboard)) {

          return true;

      } else {

          window.clipboardData.setData("Text", "")

          return false;

      }

  });

};

// ----------------------------------------------------------------------

// <summary>

// 限制输入正确的中文

// </summary>

// ----------------------------------------------------------------------

$.fn.onlyChinese = function () {

  $(this).blur(function () {

      if (/^[\u0391-\uFFE5]+$/.test($(this).val()) == false) {

          $(this).css({ "border": "1px solid red" });

          return false;

      }

      else {

          $(this).css({ "border": "" });

          //$(this).css({ "background-color": "#fff3de" });

          return true;

      }

  }).bind("paste", function () {

      //获取剪切板的内容

      var clipboard = window.clipboardData.getData("Text");

      if (/^[\u0391-\uFFE5]+$/.test(clipboard)) {

          return true;

      } else {

          window.clipboardData.setData("Text", "")

          return false;

      }

  });

};

// ----------------------------------------------------------------------

// <summary>

// 限制输入正确的有效连接地址

// </summary>

// ----------------------------------------------------------------------

$.fn.onlyUrl = function () {

  $(this).bind(function () {

      //获取剪切板的内容

      var clipboard = window.clipboardData.getData("Text");

      if (/(h|H)(r|R)(e|E)(f|F) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?/.test(clipboard)) {

          $(this).css({ "border": "" });

          return true;

      } else {

          $(this).css({ "border": "1px solid red" });

          //window.clipboardData.setData("Text", "")

          return false;

      }

  }).bind("paste", function () {

      //获取剪切板的内容

      var clipboard = window.clipboardData.getData("Text");

      if (/(h|H)(r|R)(e|E)(f|F) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?/.test(clipboard)) {

          return true;

      } else {

          window.clipboardData.setData("Text", "")

          return false;

      }

  });

};

正则:

匹配特定数字:

^[1-9]\d*$    //匹配正整数

^-[1-9]\d*$   //匹配负整数

^-?[1-9]\d*$   //匹配整数

^[1-9]\d*|0$  //匹配非负整数(正整数 + 0)

^-[1-9]\d*|0$   //匹配非正整数(负整数 + 0)

^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$   //匹配正浮点数

^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$  //匹配负浮点数

^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$  //匹配浮点数

^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$   //匹配非负浮点数(正浮点数 + 0)

^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$  //匹配非正浮点数(负浮点数 + 0)

Email : /^\w+([-+.]\w+)*@\w+([-.]\\w+)*\.\w+([-.]\w+)*$/

isEmail1 : /^\w+([\.\-]\w+)*\@\w+([\.\-]\w+)*\.\w+$/;

isEmail2 : /^.*@[^_]*$/;

Phone : /^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$/

Mobile : /^((\(\d{3}\))|(\d{3}\-))?13\d{9}$/

Url : /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/

IdCard : /^\d{15}(\d{2}[A-Za-z0-9])?$/

Currency : /^\d+(\.\d+)?$/

Number : /^\d+$/

Code : /^[1-9]\d{5}$/

QQ : /^[1-9]\d{4,8}$/

Integer : /^[-\+]?\d+$/

Double : /^[-\+]?\d+(\.\d+)?$/

English : /^[A-Za-z]+$/

Chinese : /^[\u0391-\uFFE5]+$/

UnSafe : /^(([A-Z]*|[a-z]*|\d*|[-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)|.{0,5})$|\s/

PassWord :^[\\w]{6,12}$

ZipCode : ^[\\d]{6}

/^(\+\d+ )?(\(\d+\) )?[\d ]+$/; //这个是国际通用的电话号码判断

/^(1[0-2]\d|\d{1,2})$/; //这个是年龄的判断

/^\d+\.\d{2}$/;  //这个是判断输入的是否为货币值

<!-- IP地址有效性验证函数-->

<script language=javascript runat=server>

  ip_ip = '(25[0-5]|2[0-4]\\d|1\\d\\d|\\d\\d|\\d)';

  ip_ipdot = ip + '\\.';

  isIPaddress = new RegExp('^'+ip_ipdot+ip_ipdot+ipdot+ip_ip+'$');

</script>

应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

String.prototype.len=function(){return this.replace([^\x00-\xff]/g,"aa").length;}

应用:javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现,如下:

String.prototype.trim = function()

  return this.replace(/(^\s*)|(\s*$)/g, "");

匹配空行的正则表达式:\n[\s| ]*\r

匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/

匹配首尾空格的正则表达式:(^\s*)|(\s*$)

匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

匹配网址URL的正则表达式:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?

^\d+$  //匹配非负整数(正整数 + 0)

^[0-9]*[1-9][0-9]*$  //匹配正整数

^((-\d+)|(0+))$  //匹配非正整数(负整数 + 0)

^-[0-9]*[1-9][0-9]*$  //匹配负整数

^-?\d+$    //匹配整数

^\d+(\.\d+)?$  //匹配非负浮点数(正浮点数 + 0)

^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ //匹配正浮点数

^((-\d+(\.\d+)?)|(0+(\.0+)?))$  //匹配非正浮点数(负浮点数 + 0)

^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$ //匹配负浮点数

^(-?\d+)(\.\d+)?$

注意:处理大量数据时有用,具体应用时注意修正

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值