js中用到的正则表达式

1.匹配IP地址

  1. function isIP(value){
  2. return /^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})$/i.test(value);
  3. }

2.匹配URL

  1. function isURL(value){
  2. return /^((http|https):\/\/(\w+:{0,1}\w*@)?(\S+)|)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/.test(value);
  3. }

3.匹配全汉字

  1. function isChina(value){
  2. return /^[\u4E00-\u9FA3]{1,}$/.test(value);
  3. }

4.匹配身份证号码

  1. function isIDCard(value){
  2. return /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(value);
  3. }

5.匹配手机号码

  1. function isPhoneNum(value){
  2. return /^0?(13[0-9]|15[012356789]|18[0236789]|14[57])[0-9]{8}$/.test(value);
  3. }

6.匹配邮箱

  1. function isEmail(value){
  2. return /^((([a-z]|\d|[!#\$%&‘\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&‘\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i.test(value);
  3. }

7.匹配数字

  1. function isNum(value){
  2. return /^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(value);
  3. }

8.匹配日期

  1. function isDate(value){
  2. return !/Invalid|NaN/.test(new Date(value).toString());
  3. }

9.匹配字母和下划线开头,允许n-m字节,允许字母数字下划线

  1. function isAccountValid(value,m,n){
  2. var _n = n-1, _m = m-1;
  3. return new RegExp("^[a-zA-Z_][a-zA-Z0-9_]{"+_n+","+_m+"}$").test(value);
  4. }

调用方法:

  1. var isEmail = isEmail($("#input1").val());alert(isEmail);//true or false

验证数字:^[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+$
验证非正整数(负整数 + 0) ^((-\d+)|(0+))$
验证长度为3的字符:^.{3}$
验证由26个英文字母组成的字符串:^[A-Za-z]+$
验证由26个大写英文字母组成的字符串:^[A-Z]+$
验证由26个小写英文字母组成的字符串:^[a-z]+$
验证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$
验证由数字、26个英文字母或者下划线组成的字符串:^\w+$
验证用户密码:^[a-zA-Z]\w{5,17}$ 正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。
验证是否含有 ^%&‘,;=?$\” 等字符:[^%&‘,;=?$\x22]+
验证汉字:^[\u4e00-\u9fa5],{0,}$
验证Email地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
验证InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$
验证电话号码:^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}$:–正确格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。
验证手机号:/^0?(13[0-9]|15[012356789]|18[0236789]|14[57])[0-9]{8}$/
验证身份证号(15位或18位数字):^\d{15}|\d{}18$
验证一年的12个月:^(0?[1-9]|1[0-2])$ 正确格式为:“01”-“09”和“1”“12”
验证一个月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$ 正确格式为:01、09和1、31。
整数:^-?\d+$
非负浮点数(正浮点数 + 0):^\d+(\.\d+)?$
正浮点数 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
非正浮点数(负浮点数 + 0) ^((-\d+(\.\d+)?)|(0+(\.0+)?))$
负浮点数 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
浮点数 ^(-?\d+)(\.\d+)?
js 判断是否为中文:
var zw = /^[\u0391-\uFFE5]+$/ ;
if(zw.test(kz_content.value)){
alert(‘===’);
}
js 判断是否为字母:
var sz = /[_a-zA-Z]/ ;
if(sz.test(kz_content.value)){
alert(‘——’);
}

此文转载,原文地址:http://www.cnblogs.com/songyao/p/4105024.html

时间: 2024-11-06 07:16:36

js中用到的正则表达式的相关文章

再议 js 数字格式之正则表达式

原文:再议 js 数字格式之正则表达式 前面我们提到到了js的数字格式<浅谈 js 数字格式类型>,之前的<js 正则练习之语法高亮>里也提到了优化数字匹配的正则.不过最近落叶给了我一个正则,让我豁然开朗,比我写的犀利多了,所以今天拿出来简单说一下(只说十进制部分的匹配). 先看下我之前写的正则:/\d+(?:\.\d+)?(?:[eE][+-]?\d+)?|\.\d+(?:[eE][+-]?\d+)?/落叶在 jQuery 中发现的正则: /(?:\d*\.|)\d+(?:[eE

js常用的验证正则表达式

js 正则表达式使用讲解:各种验证语法 intege:"^-?[1-9]//d*$",     //整数 intege1:"^[1-9]//d*$",     //正整数 intege2:"^-[1-9]//d*$",     //负整数 num:"^([+-]?)//d*//.?//d+$",   //数字 num1:"^[1-9]//d*|0$",     //正数(正整数 + 0) num2:&quo

项目中用了汉字正则表达式,出现异常:Cannot merge new index 65993 into a non-jumbo instruction

在项目中用了汉字正则表达式,编译并运行,Eclipse控制台输出如下异常信息: Unable to execute dex: Cannot merge newindex 65993 into a non-jumbo instruction!? Conversion to Dalvikformat failed: Unable to execute dex: Cannot merge new index 65993 into anon-jumbo instruction! 解决方法: 将dex.f

js和java中正则表达式的易混淆点

js中正则表达式的使用 对表单中的值进行正则表达式匹配一般有两种方法: var reg = new RegExp(regStr); reg.test(value); 如下: var reg = new RegExp("\\d{3}"); reg.test("abc123def"); 结果:true 注:new RegExp中传的是正则表达式的字符串,\需要用\转义. str.match(regex);      如"abc123def".matc

原生js中用Ajax进行get传参

原生js中用Ajax进行get传参 案例: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> input{ width:600px; height:50px; display:block; } </style> </head> <body> <input ty

js中用正则表达式 过滤特殊字符 ,校验所有输入域是否含有特殊符号

function stripscript(s) { var pattern = new RegExp("[`[email protected]#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}[]‘::”“'.,.?]") var rs = ""; for (var i = 0; i < s.length; i++) { rs = rs+s.substr(i, 1).replace(pattern

js中用到的方法

在学习js基础,有时候学习过就忘了,写下来便于下次查找方便和理解: .substring() 方法用于提取字符串中介于两个指定下标之间的字符. var str='abcdef'; alert(str.substring(2, 5)); //从第2位开始(包含弟2个)到第4位结束(不包括第5个) 弹出cde //alert(str.substring(1));//从第1位开始到最后 弹出bcdef .charAt() 方法可返回指定位置的字符 var str='abcdef'; alert(str

js入门篇之正则表达式基础

定义:正则用于规定在文本中检索的内容,它是对字符串执行模式匹配的强大工具 RegExp(正则表达式) 对象的语法: new RegExp(pattern, attributes); pattern为一个字符串或匹配规则 attributes为可选字符串,包含属性g.i 和 m g:代表全局匹配 (继续往下匹配) i:代表不区分大小写匹配 m:代表多行匹配,只对^和$模式有用 定义正则表达式有两种形式: 构造函数方式: new RegExp(pattern, attributes); 例:var

[JS]笔记11之正则表达式

-->什么是正则表达式-->定义正则-->正则的索引-->元字符-->方括号.量词.其他符号-->RegExp 对象的方法-->String 对象方法 1.定义: 正则用于规定在文本中检索的内容,它是对字符串执行模式匹配的强大工具RegExp(正则表达式) 对象的语法:new RegExp(pattern, attributes);pattern为一个字符串或匹配规则attributes为可选字符串,包含属性g.i 和 mg:代表全局匹配 (继续往下匹配)i:代表