常见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 相关文章推荐
srcElement表格样式
Sep 03 Javascript
js onload处理html页面加载之后的事件
Oct 30 Javascript
Extjs4中tree的拖拽功能(可以两棵树之间拖拽) 简单实例
Dec 08 Javascript
js实现的点击div区域外隐藏div区域
Jun 30 Javascript
Angularjs中UI Router全攻略
Jan 29 Javascript
jQuery与JS加载事件用法分析
Sep 04 Javascript
vue 自定义 select内置组件
Apr 10 Javascript
Angular Renderer (渲染器)的具体使用
May 03 Javascript
详解Vue开发微信H5微信分享签名失败问题解决方案
Aug 09 Javascript
Vue CLI 2.x搭建vue(目录最全分析)
Feb 27 Javascript
微信小程序封装分享与分销功能过程解析
Aug 13 Javascript
layer.alert回调函数执行关闭弹窗的实例
Sep 11 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
深入PHP运行环境配置的详解
2013/06/04 PHP
ThinkPHP3.1查询语言详解
2014/06/19 PHP
php实现点击可刷新验证码
2015/11/07 PHP
Zend Framework实现留言本分页功能(附demo源码下载)
2016/03/22 PHP
php微信开发之关注事件
2018/06/14 PHP
thinkPHP框架实现多表查询的方法
2018/06/14 PHP
Javascript Function对象扩展之延时执行函数
2010/07/06 Javascript
js中字符替换函数String.replace()使用技巧
2011/08/14 Javascript
JS原型对象通俗&quot;唱法&quot;
2012/12/27 Javascript
只需20行代码就可以写出CSS覆盖率测试脚本
2013/04/24 Javascript
Extjs 4.x 得到form CheckBox 复选框的值
2014/05/04 Javascript
JavaScript italics方法入门实例(把字符串显示为斜体)
2014/10/17 Javascript
Jquery动态替换div内容及动态展示的方法
2015/01/23 Javascript
jQuery使用toggleClass方法动态添加删除Class样式的方法
2015/03/26 Javascript
JS实现两表格里数据来回转移的方法
2015/05/28 Javascript
简介JavaScript中strike()方法的使用
2015/06/08 Javascript
javascript带回调函数的异步脚本载入方法实例分析
2015/07/02 Javascript
jQuery基于ajax实现带动画效果无刷新柱状图投票代码
2015/08/10 Javascript
使用jQuery的ajax方法向服务器发出get和post请求的方法
2017/01/13 Javascript
jquery 输入框查找关键字并提亮颜色的实例代码
2018/01/23 jQuery
vue多层嵌套路由实例分析
2019/03/19 Javascript
JS实现简单tab选项卡切换
2019/10/25 Javascript
[41:20]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS DK
2014/05/26 DOTA
python实现socket端口重定向示例
2014/02/10 Python
对python中的try、except、finally 执行顺序详解
2019/02/18 Python
简单了解django缓存方式及配置
2019/07/19 Python
python自定义时钟类、定时任务类
2021/02/22 Python
丝芙兰美国官网:SEPHORA美国
2016/08/03 全球购物
意大利体育用品网上商城:Nencini Sport
2016/08/18 全球购物
欧舒丹英国官网:购买欧舒丹护手霜等明星产品
2017/01/17 全球购物
父母对孩子的寄语
2014/04/09 职场文书
学前班评语大全
2014/05/04 职场文书
快递员岗位职责
2014/09/12 职场文书
2015年销售助理工作总结
2015/05/11 职场文书
多人股份制合作协议书
2016/03/19 职场文书
python实现进度条的多种实现
2021/04/29 Python