常见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高级程序设计 XML、Ajax 学习笔记
Sep 10 Javascript
快速学习jQuery插件 jquery.validate.js表单验证插件使用方法
Dec 01 Javascript
JS组件中bootstrap multiselect两大组件较量
Jan 26 Javascript
JS 拦截全局ajax请求实例解析
Nov 29 Javascript
Bootstrap警告框(Alert)插件使用方法
Mar 21 Javascript
利用n工具轻松管理Node.js的版本
Apr 21 Javascript
Express之get,pos请求参数的获取
May 02 Javascript
浅谈vue2 单页面如何设置网页title
Nov 08 Javascript
JavaScript模块详解
Dec 18 Javascript
JS中Map和ForEach的区别
Feb 05 Javascript
jQuery实现评论模块
Aug 19 jQuery
使用这 6个Vue加载动画库来减少我们网站的跳出率
May 18 Vue.js
详解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解析RSS的方法
2015/03/05 PHP
thinkphp在低版本Nginx 下支持PATHINFO的方法分享
2016/05/27 PHP
原生JS绑定滑轮滚动事件兼容常见浏览器
2014/06/30 Javascript
把Node.js程序加入服务实现随机启动
2015/06/25 Javascript
javascript拖拽应用实例(二)
2016/03/25 Javascript
js检测离开或刷新页面时表单数据是否更改的方法
2016/08/02 Javascript
巧用数组制作图片切换js代码
2016/11/29 Javascript
微信小程序 require机制详解及实例代码
2016/12/14 Javascript
Vue的Flux框架之Vuex状态管理器
2017/07/30 Javascript
vue组件学习教程
2017/09/09 Javascript
jquery 键盘事件的使用方法详解
2017/09/13 jQuery
angularJS开发注意事项
2018/05/26 Javascript
微信小程序自定义select下拉选项框组件的实现代码
2018/08/28 Javascript
Vue刷新修改页面中数据的方法
2018/09/16 Javascript
开发用到的js封装方法(20种)
2018/10/12 Javascript
小程序实现留言板
2018/11/02 Javascript
vue插件draggable实现拖拽移动图片顺序
2018/12/01 Javascript
微信小程序scroll-view点击项自动居中效果的实现
2020/03/25 Javascript
nestjs中异常过滤器Exceptionfilter的具体使用
2021/02/07 Javascript
python3.3实现乘法表示例
2014/02/07 Python
django自定义Field实现一个字段存储以逗号分隔的字符串
2014/04/27 Python
python中requests模块的使用方法
2015/04/08 Python
python 保存float类型的小数的位数方法
2018/10/17 Python
如何在Python中实现goto语句的方法
2019/05/18 Python
pyqt 多窗口之间的相互调用方法
2019/06/19 Python
对Python中画图时候的线类型详解
2019/07/07 Python
pytorch实现focal loss的两种方式小结
2020/01/02 Python
Python 爬取必应壁纸的实例讲解
2020/02/24 Python
Python中random模块常用方法的使用教程
2020/10/04 Python
请写出 float x 与"零值"比较的 if 语句
2016/01/04 面试题
文秘个人求职信范文
2014/04/22 职场文书
产品开发计划书
2014/04/27 职场文书
岗位安全生产责任书
2014/07/28 职场文书
庆祝国庆节演讲稿2014
2014/09/19 职场文书
主持人开幕词
2015/01/29 职场文书
讲解MySQL增删改操作
2022/05/06 MySQL