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 相关文章推荐
juqery 学习之三 选择器 子元素与表单
Nov 25 Javascript
js TextArea的选中区域处理
Dec 28 Javascript
FF火狐下获取一个元素同类型的相邻元素实现代码
Dec 15 Javascript
jQuery获取Select选择的Text和Value(详细汇总)
Jan 25 Javascript
jQuery中add()方法用法实例
Jan 08 Javascript
JavaScript判断对象是否为数组
Dec 22 Javascript
Bootstrap Table表格一直加载(load)不了数据的快速解决方法
Sep 17 Javascript
wap手机端解决返回上一页的js实例
Dec 08 Javascript
Vue.js中用v-bind绑定class的注意事项
Dec 13 Javascript
jQuery ajax读取本地json文件的实例
Oct 31 jQuery
Vue项目使用CDN优化首屏加载问题
Apr 01 Javascript
axios异步提交表单数据的几种方法
Aug 11 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使用eAccelerator的API开发详解
2013/06/09 PHP
关于file_get_contents返回为空或函数不可用的解决方案
2013/06/24 PHP
Yii支持多域名cors原理的实现
2018/12/05 PHP
jQuery 核心函数以及jQuery对象
2010/03/23 Javascript
常用一些Javascript判断函数
2012/08/14 Javascript
jQuery 选择表格(table)里的行和列及改变简单样式
2012/12/15 Javascript
jQuery客户端分页实例代码
2013/11/18 Javascript
javascript确认框的三种使用方法
2013/12/17 Javascript
js实现的简洁网页滑动tab菜单效果代码
2015/08/24 Javascript
jQuery 选择同时包含两个class的元素的实现方法
2016/06/01 Javascript
RequireJS简易绘图程序开发
2016/10/28 Javascript
详解JavaScript时间处理之几个月前或几个月后的指定日期
2016/12/21 Javascript
Node.JS中事件轮询(Event Loop)的解析
2017/02/25 Javascript
在js中做数字字符串补0(js补零)
2017/03/25 Javascript
Node.js编写CLI的实例详解
2017/05/17 Javascript
使用js实现将后台传入的json数据放在前台显示
2018/08/06 Javascript
微信小程序时间轴实现方法示例
2019/01/14 Javascript
基于vue开发微信小程序mpvue-docs跳转页面功能
2019/04/10 Javascript
layui中的switch开关实现方法
2019/09/03 Javascript
JavaScript实现背景自动切换小案例
2019/09/27 Javascript
使用python在校内发人人网状态(人人网看状态)
2014/02/19 Python
python 网络编程详解及简单实例
2017/04/25 Python
全面了解Nginx, WSGI, Flask之间的关系
2018/01/09 Python
解决python matplotlib imshow无法显示的问题
2018/05/24 Python
Python寻找路径和查找文件路径的示例
2019/07/10 Python
python ctypes库2_指定参数类型和返回类型详解
2019/11/19 Python
JupyterNotebook 输出窗口的显示效果调整方法
2020/04/13 Python
python 比较字典value的最大值的几种方法
2020/04/17 Python
sklearn的predict_proba使用说明
2020/06/28 Python
Python大批量搜索引擎图像爬虫工具详解
2020/11/16 Python
python里反向传播算法详解
2020/11/22 Python
Pytorch 图像变换函数集合小结
2021/02/01 Python
乐高西班牙官方商店:LEGO Shop ES
2019/12/01 全球购物
在线实验室测试:HealthLabs.com
2020/05/03 全球购物
公司费用报销管理制度
2015/08/04 职场文书
Redis如何实现验证码发送 以及限制每日发送次数
2022/04/18 Redis