常见JS验证脚本汇总


Posted in Javascript onDecember 01, 2015

本文实例讲述了常见JS验证脚本。分享给大家供大家参考,具体如下:

/*-------------- 函数检索 --------------
trim函数:             trim() lTrim() rTrim()
校验字符串是否为空:         checkIsNotEmpty(str)
校验字符串是否为整型:        checkIsInteger(str)
校验整型最小值:          checkIntegerMinValue(str,val)
校验整型最大值:          checkIntegerMaxValue(str,val) 
校验整型是否为非负数:        isNotNegativeInteger(str)
校验字符串是否为浮点型:       checkIsDouble(str) 
校验浮点型最小值:         checkDoubleMinValue(str,val)
校验浮点型最大值:         checkDoubleMaxValue(str,val)
校验浮点型是否为非负数:       isNotNegativeDouble(str)
校验字符串是否为日期型:       checkIsValidDate(str)
校验两个日期的先后:        checkDateEarlier(strStart,strEnd)
校验字符串是否为email型:      checkEmail(str)
校验字符串是否为中文:        checkIsChinese(str)
计算字符串的长度,一个汉字两个字符:  realLength()
校验字符串是否符合自定义正则表达式:  checkMask(str,pat)
得到文件的后缀名:          getFilePostfix(oFile) 
-------------- 函数检索 --------------
*/
String.prototype.trim = function()
{
  return this.replace(/(^[\\s]*)|([\\s]*$)/g, "");
}
String.prototype.lTrim = function()
{
  return this.replace(/(^[\\s]*)/g, "");
}
String.prototype.rTrim = function()
{
  return this.replace(/([\\s]*$)/g, "");
}
function checkIsNotEmpty(str)
{
  if(str.trim() == "")
    return false;
  else
    return true;
}//~~~
function checkIsInteger(str)
{
  //如果为空,则通过校验
  if(str == "")
    return true;
  if(/^(\\-?)(\\d+)$/.test(str))
    return true;
  else
    return false;
}//~~~
function checkIntegerMinValue(str,val)
{
  //如果为空,则通过校验
  if(str == "")
    return true;
  if(typeof(val) != "string")
    val = val + "";
  if(checkIsInteger(str) == true)
  {
    if(parseInt(str,10)>=parseInt(val,10))
      return true;
    else
      return false;
  }
  else
    return false;
}//~~~
function checkIntegerMaxValue(str,val)
{
  //如果为空,则通过校验
  if(str == "")
    return true;
  if(typeof(val) != "string")
    val = val + "";
  if(checkIsInteger(str) == true)
  {
    if(parseInt(str,10)<=parseInt(val,10))
      return true;
    else
      return false;
  }
  else
    return false;
}//~~~
function isNotNegativeInteger(str)
{
  //如果为空,则通过校验
  if(str == "")
    return true;
  if(checkIsInteger(str) == true)
  {
    if(parseInt(str,10) < 0)
      return false;
    else
      return true;
  }
  else
    return false;
}//~~~
function checkIsDouble(str)
{
  //如果为空,则通过校验
  if(str == "")
    return true;
  //如果是整数,则校验整数的有效性
  if(str.indexOf(".") == -1)
  {
    if(checkIsInteger(str) == true)
      return true;
    else
      return false;
  }
  else
  {
    if(/^(\\-?)(\\d+)(.{1})(\\d+)$/g.test(str))
      return true;
    else
      return false;
  }
}//~~~
function checkDoubleMinValue(str,val)
{
  //如果为空,则通过校验
  if(str == "")
    return true;
  if(typeof(val) != "string")
    val = val + "";
  if(checkIsDouble(str) == true)
  {
    if(parseFloat(str)>=parseFloat(val))
      return true;
    else
      return false;
  }
  else
    return false;
}//~~~
function checkDoubleMaxValue(str,val)
{
  //如果为空,则通过校验
  if(str == "")
    return true;
  if(typeof(val) != "string")
    val = val + "";
  if(checkIsDouble(str) == true)
  {
    if(parseFloat(str)<=parseFloat(val))
      return true;
    else
      return false;
  }
  else
    return false;
}//~~~
function isNotNegativeDouble(str)
{
  //如果为空,则通过校验
  if(str == "")
    return true;
  if(checkIsDouble(str) == true)
  {
    if(parseFloat(str) < 0)
      return false;
    else
      return true;
  }
  else
    return false;
}//~~~
function checkIsValidDate(str)
{
  //如果为空,则通过校验
  if(str == "")
    return true;
  var pattern = /^((\\d{4})|(\\d{2}))-(\\d{1,2})-(\\d{1,2})$/g;
  if(!pattern.test(str))
    return false;
  var arrDate = str.split("-");
  if(parseInt(arrDate[0],10) < 100)
    arrDate[0] = 2000 + parseInt(arrDate[0],10) + "";
  var date = new Date(arrDate[0],(parseInt(arrDate[1],10) -1)+"",arrDate[2]);
  if(date.getYear() == arrDate[0]
    && date.getMonth() == (parseInt(arrDate[1],10) -1)+""
    && date.getDate() == arrDate[2])
    return true;
  else
    return false;
}//~~~
function checkDateEarlier(strStart,strEnd)
{
  if(checkIsValidDate(strStart) == false || checkIsValidDate(strEnd) == false)
    return false;
  //如果有一个输入为空,则通过检验
  if (( strStart == "" ) || ( strEnd == "" ))
    return true;
  var arr1 = strStart.split("-");
  var arr2 = strEnd.split("-");
  var date1 = new Date(arr1[0],parseInt(arr1[1].replace(/^0/,""),10) - 1,arr1[2]);
  var date2 = new Date(arr2[0],parseInt(arr2[1].replace(/^0/,""),10) - 1,arr2[2]);
  if(arr1[1].length == 1)
    arr1[1] = "0" + arr1[1];
  if(arr1[2].length == 1)
    arr1[2] = "0" + arr1[2];
  if(arr2[1].length == 1)
    arr2[1] = "0" + arr2[1];
  if(arr2[2].length == 1)
    arr2[2]="0" + arr2[2];
  var d1 = arr1[0] + arr1[1] + arr1[2];
  var d2 = arr2[0] + arr2[1] + arr2[2];
  if(parseInt(d1,10) > parseInt(d2,10))
    return false;
  else
    return true;
}//~~~
function checkEmail(str)
{
  //如果为空,则通过校验
  if(str == "")
    return true;
  if (str.charAt(0) == "." || str.charAt(0) == "@" || str.indexOf(\'@\', 0) == -1
    || str.indexOf(\'.\', 0) == -1 || str.lastIndexOf("@") == str.length-1 || str.lastIndexOf(".") == str.length-1)
    return false;
  else
    return true;
}//~~~
function checkIsChinese(str)
{
  //如果值为空,通过校验
  if (str == "")
    return true;
  var pattern = /^([\一-\?]|[\?-\??])*$/gi;
  if (pattern.test(str))
    return true;
  else
    return false;
}//~~~
String.prototype.realLength = function()
{
 return this.replace(/[^\\x00-\\xff]/g,"**").length;
}
function checkMask(str,pat)
{
  //如果值为空,通过校验
  if (str == "")
    return true;
  var pattern = new RegExp(pat,"gi")
  if (pattern.test(str))
    return true;
  else
    return false;
}//~~~
function getFilePostfix(oFile)
{
  if(oFile == null)
    return null;
  var pattern = /(.*)\\.(.*)$/gi;
  if(typeof(oFile) == "object")
  {
    if(oFile.value == null || oFile.value == "")
      return null;
    var arr = pattern.exec(oFile.value);
    return RegExp.$2;
  }
  else if(typeof(oFile) == "string")
  {
    var arr = pattern.exec(oFile);
    return RegExp.$2;
  }
  else
    return null;
}

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
Javascript 圆角div的实现代码
Oct 15 Javascript
js 页面刷新location.reload和location.replace的区别小结
Dec 24 Javascript
使用javascipt---实现二分查找法
Apr 10 Javascript
浏览器图片选择预览、旋转、批量上传的JS代码实现
Dec 04 Javascript
jQuery中contents()方法用法实例
Jan 08 Javascript
JS判断页面是否出现滚动条的方法
Jul 17 Javascript
浅谈javascript中关于日期和时间的基础知识
Jul 13 Javascript
JavaScript实现页面定时刷新(定时器,meta)
Oct 12 Javascript
JS中的数组转变成JSON格式字符串的方法
May 09 Javascript
vue .sync修饰符的使用详解
Jun 15 Javascript
深入浅出理解JavaScript闭包的功能与用法
Aug 01 Javascript
mpvue实现微信小程序快递单号查询代码
Apr 03 Javascript
详解JavaScript函数
Dec 01 #Javascript
javascript定义类和类的实现实例详解
Dec 01 #Javascript
深入JavaScript高级程序设计之对象、数组(栈方法,队列方法,重排序方法,迭代方法)
Dec 01 #Javascript
js跨域请求数据的3种常用的方法
Dec 01 #Javascript
jQuery插件实现多级联动菜单效果
Dec 01 #Javascript
基于Jquery实现焦点图淡出淡入效果
Nov 30 #Javascript
轻松学习jQuery插件EasyUI EasyUI创建RSS Feed阅读器
Nov 30 #Javascript
You might like
ThinkPHP3.1之D方法实例详解
2014/06/20 PHP
laravel在中间件内生成参数并且传递到控制器中的2种姿势
2019/10/15 PHP
javascript appendChild,innerHTML,join性能比较代码
2009/08/29 Javascript
jquery()函数的三种语法介绍
2013/10/09 Javascript
Jquery Uploadify上传带进度条的简单实例
2014/02/12 Javascript
js生成动态表格并为每个单元格添加单击事件的方法
2014/04/14 Javascript
javascript数组遍历for与for in区别详解
2014/12/04 Javascript
比较常见的javascript中定义函数的区别
2015/11/09 Javascript
javascript实现Email邮件显示与删除功能
2015/11/21 Javascript
JS触摸屏网页版仿app弹窗型滚动列表选择器/日期选择器
2016/10/30 Javascript
AngularJS入门教程之MVC架构实例分析
2016/11/01 Javascript
详解HTML5 使用video标签实现选择摄像头功能
2017/10/25 Javascript
node.js中axios使用心得总结
2017/11/29 Javascript
javascript实现循环广告条效果
2017/12/12 Javascript
Angular如何在应用初始化时运行代码详解
2018/06/11 Javascript
JavaScript链式调用实例浅析
2018/12/19 Javascript
JQuery判断radio单选框是否选中并获取值的方法
2019/01/17 jQuery
Vue.js实现可排序的表格组件功能示例
2019/02/19 Javascript
layui递归实现动态左侧菜单
2019/07/26 Javascript
vue实现分页的三种效果
2020/06/23 Javascript
Vuex实现简单购物车
2021/01/10 Vue.js
python 中random模块的常用方法总结
2017/07/08 Python
Python正则捕获操作示例
2017/08/19 Python
Python实现的统计文章单词次数功能示例
2019/07/08 Python
Django密码存储策略分析
2020/01/09 Python
Pytorch十九种损失函数的使用详解
2020/04/29 Python
Python matplotlib 绘制双Y轴曲线图的示例代码
2020/06/12 Python
Pycharm学生免费专业版安装教程的方法步骤
2020/09/24 Python
html5 input输入实时检测以及延时优化
2018/07/18 HTML / CSS
自我鉴定思想方面
2013/10/07 职场文书
大学生村官心得体会范文
2014/01/04 职场文书
减负增效提质方案
2014/05/23 职场文书
设备售后服务承诺书
2014/05/30 职场文书
个人求职意向书
2015/05/11 职场文书
导游词之广西漓江
2019/11/02 职场文书
导游词之泉州崇武古城
2019/12/20 职场文书