JS验证字符串功能


Posted in Javascript onFebruary 22, 2017

js 验证字符串功能实例代码如下所示:

//去除空格 
function jsTrim(value) { 
  var reg = /^\S$/; 
  if (!value) return ""; 
  if (value.length == 0) 
    return value; 
  else { 
    var lp, rp; 
    lp = 0; rp = value.length - 1; 
    while ((value.charAt(lp) == " " || (value.charCodeAt(lp) < 128 ? (reg.test(value.charAt(lp)) == false ? true : false) : false) || value.charAt(rp) == " " || (value.charCodeAt(rp) < 128 ? (reg.test(value.charAt(rp)) == false ? true : false) : false)) && rp >= lp) { 
      if (value.charAt(lp) == " " || value.charCodeAt(lp) < 128 ? (reg.test(value.charAt(lp)) == false ? true : false) : false) 
        lp++; 
      if (value.charAt(rp) == " " || value.charCodeAt(rp) < 128 ? (reg.test(value.charAt(rp)) == false ? true : false) : false) 
        rp--; 
    } 
    if (lp > rp) 
      return ""; 
    else 
      return (value.substring(lp, rp + 1)); 
  } 
} 
//字符串长度 
function strlength(s) { 
  var s_length = s.length; 
  return s_length; 
} 
//手机号码验证函数 
String.prototype.Trim = function() { 
  var m = this.match(/^\s*(\S+(\s+\S+)*)\s*$/); 
  return (m == null) ? "" : m[1]; 
} 
String.prototype.isMobile = function() { 
  return (/^(?:13\d|15\d|18\d|19\d|17\d|14\d)-?\d{5}(\d{3}|\*{3})$/.test(this.Trim())); 
} 
//*判别电话号码,手机号是否有效 
//*返回 true:false 
//*/ 
function checkPhone(phone)   
{   
//验证电话号码手机号码,包含153,159号段   
if (phone==""){   
alert("电话号码不能为空!");    
return false;   
}   
if (phone != ""){    
var p1 = /^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/;   
var me = false;   
if (p1.test(phone)) me=true;   
if (!me){     
//alert('对不起,您输入的电话号码有错误。区号和电话号码之间请用-分割');    
return false;   
}   
}   
return true;   
}   
//邮箱地址验证函数 
function checkmail(mail) { 
//  var strr; 
//  re = /(\w+@\w+\.\w+)(\.{0,1}\w*)(\.{0,1}\w*)/i; 
//  re.exec(mail); 
//  if (RegExp.$3 != "" && RegExp.$3 != "." && RegExp.$2 != ".") 
//    strr = RegExp.$1 + RegExp.$2 + RegExp.$3 
//  else { 
//    if (RegExp.$2 != "" && RegExp.$2 != ".") 
//      strr = RegExp.$1 + RegExp.$2 
//    else 
//      strr = RegExp.$1 
//  } 
//  if (strr != mail) { return false } else { return true } 
  //  return true; 
  var remail = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; 
  return mail.match(remail); 
} 
//判断数字 
function CheckNumber(n) { 
  var checkOK = "0123456789-."; 
  var allValid = true; 
  var decPoints = 0; 
  var allNum = ""; 
  for (i = 0; i < n.length; i++) { 
    ch = n.charAt(i); 
    for (j = 0; j < checkOK.length; j++) 
      if (ch == checkOK.charAt(j)) 
      break; 
    if (j == checkOK.length) { 
      allValid = false; 
      break; 
    } 
    if (ch == ".") { 
      allNum += "."; 
      decPoints++; 
    } 
    else 
      allNum += ch; 
  } 
  if (!allValid) 
    return false; 
  if (decPoints > 1) 
    return false; 
  return true; 
} 
//判断数字 
function CheckN(n) { 
  var checkOK = "0123456789"; 
  var allValid = true; 
  var decPoints = 0; 
  var allNum = ""; 
  for (i = 0; i < n.length; i++) { 
    ch = n.charAt(i); 
    for (j = 0; j < checkOK.length; j++) 
      if (ch == checkOK.charAt(j)) 
      break; 
    if (j == checkOK.length) { 
      allValid = false; 
      break; 
    } 
    if (ch == ".") { 
      allNum += "."; 
      decPoints++; 
    } 
    else 
      allNum += ch; 
  } 
  if (!allValid) 
    return false; 
  if (decPoints > 1) 
    return false; 
  return true; 
} 
var g_MINY = 1601; 
var g_MAXY = 4500; 
var rgMC = new Array(12); 
rgMC[0] = 31; rgMC[1] = 28; rgMC[2] = 31; rgMC[3] = 30; rgMC[4] = 31; rgMC[5] = 30; rgMC[6] = 31; rgMC[7] = 31; rgMC[8] = 30; rgMC[9] = 31; rgMC[10] = 30; rgMC[11] = 31; 
function isdigit(c) { 
  return (c >= '0' && c <= '9'); 
} 
function GetMonthCount(m, y) { 
  var c = rgMC[m - 1]; 
  if ((2 == m) && IsLeapYear(y)) c++; 
  return c; 
} 
function atoi(s) { 
  var t = 0; 
  for (var i = 0; i < s.length; i++) { 
    var c = s.charAt(i); 
    if (!isdigit(c)) return t; 
    else t = t * 10 + (c - '0'); 
  } 
  return t; 
} 
//判断日期 
function CheckDate(t) { 
  var l = t.length; 
  if (0 == l) return false; 
  var cSp = '\0'; 
  var sSp1 = ''; 
  var sSp2 = ''; 
  for (var i = 0; i < t.length; i++) { 
    var c = t.charAt(i); 
    if (c == ' ' || isdigit(c)) continue; 
    else if (cSp == '\0' && (c == '/' || c == '-' || c == '.')) { 
      cSp = c; 
      sSp1 = t.substring(i + 1, l); 
    } 
    else if (c == cSp) sSp2 = t.substring(i + 1, l); 
    else if (c != cSp) return false; 
  } 
  if (0 == sSp1.length) return false; 
  var m; 
  var d; 
  var y; 
  if (0 == sSp2.length) return false; 
  m = atoi(sSp1); 
  d = atoi(sSp2); 
  y = atoi(t); 
  if (y < 100) { 
    y = 1900 + y; 
    while (y < g_yLow) y = y + 100; 
  } 
  if (y < g_MINY || y > g_MAXY || m < 1 || m > 12) return false; 
  if (d < 1 || d > GetMonthCount(m, y)) return false; 
  g_month = m; 
  g_day = d; 
  g_year = y; 
  return true; 
} 
//验证字符串必须为数字字母组合 
function isNumAndStr(elem){ 
    var str = elem.value;  
   var regexpUperStr=/[A-Z]+/; 
   var reexpLowerStr=/[a-z]+/; 
   var regexpNum=/\d+/; 
   var uperStrFlag = regexpUperStr.test(str); 
   var lowerStrFlag = reexpLowerStr.test(str); 
   var numFlag = regexpNum.test(str); 
   if((uperStrFlag&&lowerStrFlag)||(lowerStrFlag&&numFlag)||(uperStrFlag&&numFlag)) 
     return true; 
   else 
    return false; 
} 
//验证字符串必须为数字跟字母的组合   
function checkPSW(str) { 
  if (str != "") { 
    var p1 = /(?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{2,})$/; 
    var me = false; 
    if (p1.test(str)) me = true; 
    if (!me) { 
      return false; 
    } 
  } 
  return true; 
} 
//验证字符串必须为数字跟字母的组合   
function checklen(str) { 
  if (str.length < 8 ) { 
      return false; 
    } 
  return true; 
} 
//单价 
function ISprice(v) { 
  var Mreg = /^[0-9]{1,10}(\.[0-9]{1,3})?$/; 
  if (Mreg.test(v)) { 
    return true; 
  } 
  else { 
    return false; 
  } 
}

以上所述是小编给大家介绍的JS验证字符串功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery textarea的长度进行验证
May 06 Javascript
jQuery插件 tabBox实现代码
Feb 09 Javascript
jquery下异步提交表单 异步跨域提交表单
Nov 17 Javascript
JQuery实现点击div以外的位置隐藏该div窗口
Sep 13 Javascript
以jQuery中$.Deferred对象为例讲解promise对象是如何处理异步问题
Nov 13 Javascript
easyui datagrid 大数据加载效率慢,优化解决方法(推荐)
Nov 09 Javascript
Boostrap栅格系统与自己额外定义的媒体查询的冲突问题
Feb 19 Javascript
微信小程序项目实践之九宫格实现及item跳转功能
Jul 19 Javascript
react koa rematch 如何打造一套服务端渲染架子
Jun 26 Javascript
Layui数据表格 前后端json数据接收的方法
Sep 19 Javascript
uniapp,微信小程序中使用 MQTT的问题
Jul 11 Javascript
js操作两个json数组合并、去重,以及删除某一项元素
Sep 22 Javascript
Bootstrap3 模态框使用实例
Feb 22 #Javascript
Bootstrap3下拉菜单的实现
Feb 22 #Javascript
微信小程序开发之相册选择和拍照详解及实例代码
Feb 22 #Javascript
js仿微博动态栏功能
Feb 22 #Javascript
Vue.js:使用Vue-Router 2实现路由功能介绍
Feb 22 #Javascript
svg动画之动态描边效果
Feb 22 #Javascript
jQuery实现的简单拖动层示例
Feb 22 #Javascript
You might like
发款php蜘蛛统计插件只要有mysql就可用
2010/10/12 PHP
php中session退出登陆问题
2014/02/27 PHP
smarty简单分页的实现方法
2014/10/27 PHP
php查询mysql大量数据造成内存不足的解决方法
2015/03/04 PHP
PHP如何通过传引用的思想实现无限分类(代码简单)
2015/10/13 PHP
php each 返回数组中当前的键值对并将数组指针向前移动一步实例
2016/11/22 PHP
JQuery 常用方法基础教程
2009/02/06 Javascript
基于mootools插件实现遮罩层新手引导
2012/05/24 Javascript
Extjs显示从数据库取出时间转换JSON后的出现问题
2012/11/20 Javascript
javascript中的事件代理初探
2014/03/08 Javascript
JavaScript实现找出数组中最长的连续数字序列
2014/09/03 Javascript
js实现九宫格图片半透明渐显特效的方法
2015/02/16 Javascript
javascript图片预加载实例分析
2015/07/16 Javascript
jquery调整表格行tr上下顺序实例讲解
2016/01/09 Javascript
php基于redis处理session的方法
2016/03/14 Javascript
js实现购物车商品数量加减
2020/09/21 Javascript
JS跨浏览器解析XML应用过程详解
2020/10/16 Javascript
antd 表格列宽自适应方法以及错误处理操作
2020/10/27 Javascript
[41:20]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS DK
2014/05/26 DOTA
[57:24]LGD vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
浅谈Python中的数据类型
2015/05/05 Python
在Python中处理字符串之ljust()方法的使用简介
2015/05/19 Python
python logging日志模块以及多进程日志详解
2018/04/18 Python
Python利用Django如何写restful api接口详解
2018/06/08 Python
python中dir()与__dict__属性的区别浅析
2018/12/10 Python
Python将视频或者动态图gif逐帧保存为图片的方法
2019/09/10 Python
Tensorflow 定义变量,函数,数值计算等名字的更新方式
2020/02/10 Python
Python3监控疫情的完整代码
2020/02/20 Python
Python编程快速上手——正则表达式查找功能案例分析
2020/02/28 Python
HTML5实现的震撼3D焦点图动画的示例代码
2019/09/26 HTML / CSS
出纳担保书范文
2014/04/02 职场文书
公司放假通知怎么写
2015/04/15 职场文书
小学运动会入场词
2015/07/18 职场文书
2015年学校办公室主任工作总结
2015/07/20 职场文书
总结Python连接CS2000的详细步骤
2021/06/23 Python
浅谈自定义校验注解ConstraintValidator
2021/06/30 Java/Android