JavaScript常用正则验证函数实例小结【年龄,数字,Email,手机,URL,日期等】

本文实例总结了JavaScript常用正则验证函数。分享给大家供大家参考,具体如下:

1、验证年龄格式(年龄只能0~99,两位数)

//验证年龄格式(年龄只能0~99,两位数)
function ValidateUserAge(age)
{
  var regNum = /^[0-9]{1,2}$/;
  if (regNum.test(age)) {
    return true;
  }
  else {
    alert("请输入正确的年龄!")
    return false;
  }
}

2、控制文本框只能输入数字

function _OnlyAllowNumKeyup(o) {
  o.value = o.value.replace(/[^0-9.]/g, '');
}
//调用<input type="text" onkeyup="_OnlyAllowNumKeyup(this)" />

3、验证字符串是否只包含数字

function isNumberChar(str) {
  var exp = /[^0-9()]/g;
  if (str.search(exp) != -1) {
    return false;
  }
  return true;
}
function isDigit(s) {
  var patrn = /^[0-9]{1,20}$/;
  if (!patrn.exec(s)) {
    return false;
  }
  else {
    return true
  }
}

4、验证Email格式

//验证Email格式
function ValidateEmail(Email) {
  if (Email==null || Email == "") {
    alert("请输入您的电子邮箱!");
    return false;
  }
  else {
    var r = /^[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
    if (r.test(Email)) {
      return true;
    } else {
      alert("您输入的电子邮箱格式不正确!");
      return false;
    }
  }
}

5、验证文本必须是英文

function ValidateStrChina(astr) {
  if (astr == "") return false;
  if (/[^\x00-\xff]/g.test(astr)) {
    return false;
  }
  return true;
}

6、验证货币格式(保留小数点2位)

function CheckIsMoney(str) {
  var result = false;
  var r = /^\d+(\.\d{1,2})?$/;
  if (r.test(str)) {
    result = true;
  }
  return result;
}

7、验证URL格式

//验证URL格式
function ValidateURL(url) {
  if (url!= "") {
    var r = /^http:\/\/([\w-]+\.)+[\w-]+(\/[\w-]*)?$|^([\w-]+\.)+[\w-]+(\/[\w-]*)?$/;
    if (!r.test(url)) {
      alert("网址格式不正确!");
      return false;
    }
  }
  return true;
}

8、验证手机格式

//验证手机格式
function ValidateMobile(mobile) {
  if (mobile != "") {
    var r = /^[1][3,5,8][0-9]{9}$/;
    if (!r.test(mobile)) {
      alert("手机号码格式不正确!");
      return false;
    }
  }
  return true;
}

9、验证年份格式

//验证年份格式
function validatePeriodFormat(strValue) {
  var objRegExp = /^[1-9]\d{3}$/;
  if (!objRegExp.test(strValue))
    return false;
  else {
    return true;
  }
}

10、验证日期格式(yyyy-MM)

//验证日期格式(yyyy-MM)
function ValidateData(strValue) {
  var objRegExp = /^([1-9]\d{3})\-(0[1-9]|1[0-2])$/;
  if (!objRegExp.test(strValue))
    return false;
  else {
    return true;
  }
}

11、验证处理

//验证处理
var CheckHandler = {
  //验证手机号码
  ValidateMobile: function(mobile) {
    if (mobile != "") {
      var r = /^[1][3,5,8][0-9]{9}$/;
      if (!r.test(mobile)) {
        return false;
      }
    }
    return true;
  },
  //验证电话号码
  ValidatePhone: function(phone) {
  if (phone != "") {
      var reg = /^(\d{2,3}\-)?(\d{3,4}\-?)[1-9]\d{6,7}$/;
      if (!reg.test(phone)) {
        return false;
      }
    }
    return true;
  },
  //验证Email格式
  ValidateEmail: function(Email) {
    if (Email==null || Email == "") {
      return false;
    }
    else {
      var r = /^[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
      if (r.test(Email)) {
        return true;
      } else {
        return false;
      }
    }
  },
  //验证货币格式(保留小数点2位)
  CheckIsMoney: function(money) {
    var result = false;
    var r = /^\d+(\.\d{1,2})?$/;
    if (r.test(money)) {
      result = true;
    }
    return result;
  }
}

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript

正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript正则表达式技巧大全》、《JavaScript替换操作技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript中json操作技巧总结》、《JavaScript错误与调试技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。

时间: 2017-01-20

实用的JS正则表达式(手机号码/IP正则/邮编正则/电话等)

//校验是否全由数字组成 复制代码 代码如下: function isDigit(s) { var patrn=/^[0-9]{1,20}$/; if (!patrn.exec(s)) return false return true } //校验登录名:只能输入5-20个以字母开头.可带数字."_"."."的字串 复制代码 代码如下: function isRegisterUserName(s) { var patrn=/^[a-zA-Z]{1}([a-zA-Z0

JS 正则 时间验证

复制代码 代码如下: function CheckTime() { var checkValue = new RegExp ("^\[0-2]{1}\[0-6]{1}:\[0-5]{1}\[0-9]{1}:\[0-5]{1}\[0-9]{1}") ; var stControl = document.getElementById("txtStartTime") ; var stValue = stControl.value ; if (stValue == &quo

JS匹配日期和时间的正则表达式示例

本文实例讲述了JS匹配日期和时间的正则表达式.分享给大家供大家参考,具体如下: //日期的正则表达式 var reg = /^[1-9]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/; var regExp = new RegExp(reg); if(!regExp.test(value)){ alert("日期格式不正确,正确格式为:2014-01-01"); return; } //时间的正则表达式 var reg = /^(2

JS 日期验证正则附asp日期格式化函数

javascript 日期验证正则 复制代码 代码如下: var pattern = /^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)

JavaScript 表单验证正则表达式大全[推荐]

具体和函数结合的使用方法,还请查看下篇文章 JavaScript 使用正则表达式进行表单验证的示例代码 复制代码 代码如下: 匹配中文字符的正则表达式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^x00-xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 匹配空白行的正则表达式:ns*r 评注:可以用来删除空白行 匹配HTML标记的正则表达式:< (S*?)[^>]*>.*?

JS正则表达式大全(整理详细且实用)

正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界. -或- 对正则表达式功能字符的还原,如"*"匹配它前面元字符0次或多次,/a*/将匹配a,aa,aaa,加了"\"后,/a\*/将只匹配"a*". ^ 匹配一个输入或一行的开头,/^a/匹配"an A",而不匹配&q

js:日期正则表达式及检测

这是yyyy-mm-dd hh:mm:ss 的  /^(\d{4})\-(\d{2})\-(\d{2}) (\d{2}):(\d{2}):(\d{2})$/ ;  这是 yyyy-mm-ddde 的 /^(\d{4})\-(\d{2})\-(\d{2})$/ function validateCNDate( strValue ) { var objRegExp = /^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$/ if(!objRegExp.test(strValue))

JavaScript利用正则表达式去除日期中的“-”

1.说明 经常会出现这样的情况,页面的日期格式是:YYYY-MM-DD,而数据库中的日期格式是:YYYYMMDD,两者之间需要转换一下,方能传到Java后台查询数据. 通常,这种转化的方法有两种,第一种,将日期字符串先截取,然后拼接:第二种,就是利用正则表达式去掉"-" 相比较而言,第二种方法快捷,不容易出错. 2.实现源码 <%@ page language="java" import="java.util.*" pageEncoding

史上最详细的js日期正则表达式分享

最简单的正则 如 : /d{4}-/d{2}-/d{2}但是实际情况却不是那么简单,,要考虑,有效性和闰年等问题..... 对于日期的有效范围,不同的应用场景会有所不同.MSDN中定义的DateTime对象的有效范围是:0001-01-01 00:00:00到9999-12-31 23:59:59. UNIX时间戳的0按照ISO 8601规范为 :1970-01-01T00:00:00Z. 先考虑与年份无关的前三条规则,年份可统一写作 (?!0000)[0-9]{4} 下面仅考虑月和日的正则 1

JS常用正则表达式及验证时间的正则表达式

在这篇文章里,我已经编写了12个超有用的正则表达式,这可是WEB开发人员的最爱哦. 1.在input框中只能输入金额,其实就是只能输入最多有两位小数的数字 //第一种在input输入框限制 <input type="text" maxlength="8" class="form-control" id="amount" style="margin-right: 2px;" value="&q

JavaScript利用正则表达式去除日期中的-

1.说明 经常会出现这样的情况,页面的日期格式是:YYYY-MM-DD,而数据库中的日期格式是:YYYYMMDD,两者之间需要转换一下,方能传到Java后台查询数据. 通常,这种转化的方法有两种,第一种,将日期字符串先截取,然后拼接:第二种,就是利用正则表达式去掉"-" 相比较而言,第二种方法快捷,不容易出错. 2.实现源码 复制代码 代码如下: <%@ page language="java" import="java.util.*" p

JS:一个匹配日期的正则

(1[0-2]|0?[1-9])[-./](0?[1-9]|[12][0-9]|3[01])[-./](\d\d\d\d)  $1 匹配 10,11,12,01,02,03,04,05,06,07,08,09 也是匹配 月份  $2 匹配 01,02...09,10,11....29,30,31 也就是匹配 日期  $3 匹配 0000,0001....9999 也就是匹配 年份  加上 中间的字符集合  以下都会匹配  10/10/1999  10-10-1999  10.10.1999

PHP正则匹配日期和时间(时间戳转换)的实例代码

先来一个比较简单实用的代码 日期YYYY-MM-DD $str = ''; $isMatched = preg_match('/^\d{4}(\-|\/|.)\d{1,2}\1\d{1,2}$/', $str, $matches); var_dump($isMatched, $matches); php需要一定的时间格式才能转换成时间戳(表示从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数),这就要用到php正则判断,以下是代码: <?php //匹配时间格式为2016-0

一个好用的正则匹配电话号手机号邮箱网址的方法

找到一个好用的正则匹配电话和手机号的方法,感谢,在这里分享一下,希望可以帮助更多人 匹配全部url地址和链接内容 复制代码 代码如下: $str = "<a href='http://www.baidu.com' target='_blank'>百度</a>http://www<a href='http://www.sina.com' target='_blank'>新浪</a>kod"; preg_match_all("/&l

浅谈js中test()函数在正则中的使用

test() 方法用于检测一个字符串是否匹配某个模式. 返回一个 Boolean 值,它指出在被查找的字符串中是否匹配给出的正则表达式. regexp.test(str) 参数 regexp 必选项.包含正则表达式模式或可用标志的正则表达式对象. str    必选项.要在其上测试查找的字符串. 说明 test 方法检查字符串是否与给出的正则表达式模式相匹配,如果是则返回 true,否则就返回 false. 每个正则表达式都有一个 lastIndex 属性,用于记录上一次匹配结束的位置. var

js时间戳转为日期格式的方法

什么是Unix时间戳(Unix timestamp): Unix时间戳(Unix timestamp),或称Unix时间(Unix time).POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数.Unix时间戳不仅被使用在Unix系统.类Unix系统中,也在许多其他操作系统中被广泛采用. 目前相当一部分操作系统使用32位二进制数字表示时间.此类系统的Unix时间戳最多可以使用到格林威治时间2038年01月19日

JS正则表达式匹配检测各种数值类型(数字验证)

验证数字的正则表达式集 验证数字:^[0-9]*$ 验证n位的数字:^\d{n}$ 验证至少n位数字:^\d{n,}$ 验证m-n位的数字:^\d{m,n}$ 验证零和非零开头的数字:^(0|[1-9][0-9]*)$ 验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$ 验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$ 验证非零的正整数:^\+?[1-9][0-9]*$ 验证非零的负整数:^\-[1-9][0-9]*$ 验证非负整数(正整数 + 0) ^\d

js 两个日期比较相差多少天的实例

如下所示: var day1 = new Date("2017-9-17"); var day2 = new Date("2017-10-18"); console.log((day2 - day1) / (1000 * 60 * 60 * 24)); 以上这篇js 两个日期比较相差多少天的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

js获取指定日期周数以及星期几的小例子

JS获取日期时遇到如下需求,根据某年某周获取一周的日期.如开始日期规定为星期四到下一周的星期五为一周. 代码如下: function getNowFormatDate(theDate) { var day = theDate; var Year = 0; var Month = 0; var Day = 0; var CurrentDate = ""; // 初始化时间 Year= day.getFullYear();// ie火狐下都可以 Month= day.getMonth()+