JavaScript判断字符长度、数字、Email、电话等常用判断函数分享


Posted in Javascript onApril 01, 2015
/****************************************************************
//* 名称:DataLength
//* 功  能:计算数据的长度
//* 入口参数:fData:需要计算的数据
//* 出口参数:返回fData的长度(Unicode长度为2,非Unicode长度为1)
//*****************************************************************
function DataLength(fData)
{
  var intLength=0
  for (var i=0;i<fData.length;i++)
  {
    if ((fData.charCodeAt(i) < 0) || (fData.charCodeAt(i) > 255))
      intLength=intLength+2
    else
      intLength=intLength+1  
  }
  return intLength
} 

//****************************************************************
//* 名
称:IsEmpty
//* 功  能:判断是否为空
//* 入口参数:fData:要检查的数据
//* 出口参数:True:空               
//*      False:非空
//*****************************************************************
function IsEmpty(fData)
{
  return ((fData==null) || (fData.length==0) )
} 


//****************************************************************
//* 名
称:IsDigit
//* 功  能:判断是否为数字
//* 入口参数:fData:要检查的数据
//* 出口参数:True:是0到9的数字               
//*      False:不是0到9的数字 
//*****************************************************************
function IsDigit(fData)
{
  return ((fData>="0") && (fData<="9"))
} 


//****************************************************************
//* 名
称:IsInteger
//* 功  能:判断是否为正整数
//* 入口参数:fData:要检查的数据
//* 出口参数:True:是整数,或者数据是空的              
//*      False:不是整数
//*****************************************************************
function IsInteger(fData)
{
  //如果为空,返回true
  if (IsEmpty(fData))
    return true
  if ((isNaN(fData)) || (fData.indexOf(".")!=-1) || (fData.indexOf("-")!=-1))
    return false  
  
  return true  
} 

//****************************************************************
//* 名
称:IsEmail
//* 功  能:判断是否为正确的Email地址
//* 入口参数:fData:要检查的数据
//* 出口参数:True:正确的Email地址,或者空               
//*      False:错误的Email地址
//*****************************************************************
function IsEmail(fData)
{
  if (IsEmpty(fData))
    return true
  if (fData.indexOf("@")==-1)
    return false
  var NameList=fData.split("@");
  if (NameList.length!=2)
    return false 
  if (NameList[0].length<1 )
    return false  
  if (NameList[1].indexOf(".")<=0)
    return false 
  if (fData.indexOf("@")>fData.indexOf(".")) 
 return false
  if (fData.indexOf(".")==fData.length-1)
 return false
  
  return true  
} 

//****************************************************************
//* 名
称:IsPhone
//* 功  能:判断是否为正确的电话号码(可以含"()"、"()"、"+"、"-"和空格)
//* 入口参数:fData:要检查的数据
//* 出口参数:True:正确的电话号码,或者空               
//*      False:错误的电话号码
//* 错误信息:
//*****************************************************************
function IsPhone(fData)
{
  var str;
  var fDatastr="";
  if (IsEmpty(fData))
    return true
  for (var i=0;i<fData.length;i++)
  {
    str=fData.substring(i,i+1);
    if (str!="(" && str!=")" && str!="(" && str!=")" && str!="+" && str!="-" && str!=" ")
      fDatastr=fDatastr+str;
  } 
  //alert(fDatastr); 
  if (isNaN(fDatastr))
    return false 
  return true  
} 

//****************************************************************
//* 名
称:IsPlusNumeric
//* 功  能:判断是否为正确的正数(可以含小数部分)
//* 入口参数:fData:要检查的数据
//* 出口参数:True:正确的正数,或者空               
//*      False:错误的正数
//* 错误信息:
//*****************************************************************
function IsPlusNumeric(fData)
{
  if (IsEmpty(fData))
    return true
  if ((isNaN(fData)) || (fData.indexOf("-")!=-1))
    return false 
  return true  
} 

//****************************************************************
//* 名
称:IsNumeric
//* 功  能:判断是否为正确的数字(可以为负数,小数)
//* 入口参数:fData:要检查的数据
//* 出口参数:True:正确的数字,或者空               
//*      False:错误的数字
//* 错误信息:
//*****************************************************************
function IsNumeric(fData)
{
  if (IsEmpty(fData))
    return true
  if (isNaN(fData))
    return false
    
  return true  
} 


//****************************************************************
//* 名
称:IsIntegerInRange
//* 功  能:判断一个数字是否在指定的范围内
//* 入口参数:fInput:要检查的数据
//*      fLower:检查的范围下限,如果没有下限,请用null
//*      fHigh:检查的上限,如果没有上限,请用null
//* 出口参数:True:在指定的范围内               
//*      False:超出指定范围
//*****************************************************************
function IsIntegerInRange(fInput,fLower,fHigh)
{
  if (fLower==null)
    return (fInput<=fHigh)
  else if (fHigh==null)
    return (fInput>=fLower) 
  else     
    return ((fInput>=fLower) && (fInput<=fHigh))
}
Javascript 相关文章推荐
Dom与浏览器兼容性说明
Oct 25 Javascript
jquery上传插件fineuploader上传文件使用方法(jquery图片上传插件)
Dec 05 Javascript
javascript省市级联功能实现方法实例详解
Oct 20 Javascript
深入学习AngularJS中数据的双向绑定机制
Mar 04 Javascript
jQuery鼠标事件总结
Oct 13 Javascript
原生js实现选项卡功能
Mar 08 Javascript
解决OneThink中无法异步提交kindeditor文本框中修改后的内容方法
May 05 Javascript
es6在react中的应用代码解析
Nov 08 Javascript
用node-webkit把web应用打包成桌面应用(windows环境)
Feb 01 Javascript
JS实现简单的点赞与踩功能示例
Dec 05 Javascript
微信小程序实现九宫格抽奖
Apr 15 Javascript
es6中使用map简化复杂条件判断操作实例详解
Feb 19 Javascript
JavaScript判断是否为数字的4种方法及效率比较
Apr 01 #Javascript
JavaScript操作DOM元素的childNodes和children区别
Apr 01 #Javascript
JS使用oumousemove和oumouseout动态改变图片显示的方法
Mar 31 #Javascript
js使用onmousemove和onmouseout获取鼠标坐标的方法
Mar 31 #Javascript
JS显示下拉列表框内全部元素的方法
Mar 31 #Javascript
JS动态改变表格边框宽度的方法
Mar 31 #Javascript
60行js代码实现俄罗斯方块
Mar 31 #Javascript
You might like
20个PHP常用类库小结
2011/09/11 PHP
PHP中函数gzuncompress无法使用的解决方法
2017/03/02 PHP
[原创]PHP实现SQL语句格式化功能的方法
2017/07/28 PHP
jQuery EasyUI API 中文文档 - ProgressBar 进度条
2011/09/29 Javascript
jQuery学习笔记之 Ajax操作篇(三) - 过程处理
2014/06/23 Javascript
jquery中EasyUI使用技巧小结
2015/02/10 Javascript
在父页面得到zTree已选中的节点的方法
2015/02/12 Javascript
使用ReactJS实现tab页切换、菜单栏切换、手风琴切换和进度条效果
2016/10/17 Javascript
jquery自定义插件结合baiduTemplate.js实现异步刷新(附源码)
2016/12/22 Javascript
JS正则表达式之非捕获分组用法实例分析
2016/12/28 Javascript
Angularjs 1.3 中的$parse实例代码
2017/09/14 Javascript
浅谈在vue项目中如何定义全局变量和全局函数
2017/10/24 Javascript
jQuery实现获取多选框的值示例
2020/02/07 jQuery
Vue项目接入Paypal实现示例详解
2020/06/04 Javascript
Python爬虫框架Scrapy安装使用步骤
2014/04/01 Python
python实现的登录和操作开心网脚本分享
2014/07/09 Python
基于Python实现的百度贴吧网络爬虫实例
2015/04/17 Python
Python编码类型转换方法详解
2016/07/01 Python
Python文本特征抽取与向量化算法学习
2017/12/22 Python
transform python环境快速配置方法
2018/09/27 Python
python ipset管理 增删白名单的方法
2019/01/14 Python
python修改FTP服务器上的文件名
2019/09/11 Python
python制作朋友圈九宫格图片
2019/11/03 Python
python:目标检测模型预测准确度计算方式(基于IoU)
2020/01/18 Python
Python3批量创建Crowd用户并分配组
2020/05/20 Python
python实现AdaBoost算法的示例
2020/10/03 Python
selenium3.0+python之环境搭建的方法步骤
2021/02/01 Python
HTML5中meta属性的使用方法
2016/02/29 HTML / CSS
Under Armour瑞典官方网站:美国高端运动科技品牌
2018/11/21 全球购物
欧洲最大的预定车位市场:JustPark
2020/01/06 全球购物
企业党员一句话承诺
2014/05/30 职场文书
大学同学会活动方案
2014/08/20 职场文书
同学聚会邀请函
2015/01/30 职场文书
库房管理员岗位职责
2015/02/12 职场文书
超级详细实用的pycharm常用快捷键
2021/05/12 Python
Java后端 Dubbo retries 超时重试机制的解决方案
2022/04/14 Java/Android