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 相关文章推荐
JavaScript字符串对象的concat方法实例(用于连接两个或多个字符串)
Oct 16 Javascript
jQuery+jRange实现滑动选取数值范围特效
Mar 14 Javascript
JQuery球队选择实例
May 18 Javascript
JS实现网页Div层Clone拖拽效果
Sep 26 Javascript
iScroll.js 使用方法参考
May 16 Javascript
BootStrap table表格插件自适应固定表头(超好用)
Aug 24 Javascript
详解js的异步编程技术的方法
Feb 09 Javascript
Vue官方文档梳理之全局配置
Nov 22 Javascript
Angular实现下拉框模糊查询功能示例
Jan 03 Javascript
jQuery移动端跑马灯抽奖特效升级版(抽奖概率固定)实现方法
Jan 18 jQuery
深入浅出了解Node.js Streams
May 27 Javascript
详解React 条件渲染
Jul 08 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
文章推荐系统(三)
2006/10/09 PHP
PHP中冒号、endif、endwhile、endfor使用介绍
2010/04/28 PHP
Notice: Trying to get property of non-object problem(PHP)解决办法
2012/03/11 PHP
laravel安装zend opcache加速器教程
2015/03/02 PHP
PHP导出带样式的Excel示例代码
2016/08/28 PHP
Ubuntu彻底删除PHP7.0的方法
2018/07/27 PHP
php 实现简单的登录功能示例【基于thinkPHP框架】
2019/12/02 PHP
类之Prototype.js学习
2007/06/13 Javascript
jQuery asp.net 用json格式返回自定义对象
2010/04/07 Javascript
用客户端js实现带省略号的分页
2013/04/27 Javascript
jQuery表单获取和失去焦点输入框提示效果的实例代码
2013/08/01 Javascript
Jquery-1.9.1源码分析系列(十一)之DOM操作
2015/11/25 Javascript
JS结合bootstrap实现基本的增删改查功能
2016/07/22 Javascript
微信小程序 location API实例详解
2016/10/02 Javascript
JavaScript日期对象(Date)基本用法示例
2017/01/18 Javascript
jQuery常用选择器详解
2017/07/17 jQuery
vue组件中的数据传递方法
2018/05/14 Javascript
create-react-app修改为多页面支持的方法
2018/05/17 Javascript
Vue项目pdf(base64)转图片遇到的问题及解决方法
2018/10/19 Javascript
详解vue引入子组件方法
2019/02/12 Javascript
JQuery使用属性addClass、removeClass和toggleClass实现增加和删除类操作示例
2019/11/18 jQuery
Ruby使用eventmachine为HTTP服务器添加文件下载功能
2016/04/20 Python
Python实现pdf文档转txt的方法示例
2018/01/19 Python
Python对数据进行插值和下采样的方法
2018/07/03 Python
python操作excel让工作自动化
2019/08/09 Python
python连接mysql有哪些方法
2020/06/24 Python
python 批量将中文名转换为拼音
2021/02/07 Python
python opencv实现图像配准与比较
2021/02/09 Python
Css3新特性应用之视觉效果实例
2016/12/12 HTML / CSS
介绍一下结构化程序设计方法和面向对象程序设计方法的区别
2012/06/27 面试题
爱国演讲稿500字
2014/05/04 职场文书
2014年民主评议党员工作总结
2014/12/02 职场文书
反腐倡廉心得体会2016
2016/01/13 职场文书
CSS 还能这样玩?奇思妙想渐变的艺术
2021/04/27 HTML / CSS
微信小程序scroll-view不能左右滑动问题的解决方法
2021/07/09 Javascript
navicat 连接Ubuntu虚拟机的mysql的操作方法
2022/04/02 MySQL