JS正则表达式大全【3】

合集下载

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

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

JS常⽤正则表达式及验证时间的正则表达式在这篇⽂章⾥,我已经编写了12个超有⽤的正则表达式,这可是WEB开发⼈员的最爱哦。

1.在input框中只能输⼊⾦额,其实就是只能输⼊最多有两位⼩数的数字 //第⼀种在input输⼊框限制<input type="text" maxlength="8" class="form-control" id="amount" style="margin-right: 2px;" value="" onChange="count();" onkeyup="if (this.value==this.value2) return; if (this.value.search(/^\d*(?:\.\d{0,2})?$/)==-1) this.value=(this.value2)?this.value2:'';else th //第⼆种对于表单动态增加的⽅式,只能在js⽅法中验证。

var amount=$("#amount").val();if (amount.search(/^\d*(?:\.\d{0,2})?$/)==-1) {alert("⾦额格式不对,最多有两位⼩数");return false;}2.验证邮箱格式var reg=/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;var email=$("#email").val();if(!reg.test(email) ){alert("请输⼊符合规范的邮箱账号!");return false;}3.密码采⽤数字、字母、特殊字符且长度为8-20位function validatePwd(str) {if (/^.*?[\d]+.*$/.test(str) && /^.*?[A-Za-z]/.test(str)&& /^.*?[~/`!@#$%^&*()_+|{}?;:><\-\]\\[\/].*$/.test(str) && /^.{8,20}$/.test(str)) {return true;}return false;}4.验证电话号码/*** 验证电话号码* @param phoneValue 要验证的电话号码* @returns 匹配返回true 不匹配返回false*/function validatePhone(phoneValue) {phoneValue = valueTrim(phoneValue);var reg = /^[1][0-9]{10}$/;return reg.test(phoneValue);}5.判断是否是汉字/*** 判断是否是汉字** @param charValue* 要验证的数据* @returns 匹配返回true 不匹配返回false*/function isCharacter(charValue) {var reg = /^[\u4e00-\u9fa5]{0,}$/;return reg.test(charValue);}6.是否为字母:true:是,false:不是function isChar(charValue){var charPattern=/^[a-zA-Z]*$/; //是否为字母result=charPattern.test(charValue);return result;}7.判断是否为数字function isNum(numValue){var numPattern=/^\d*$/; //数字的正则表达式result=numPattern.test(numValue);return result;}8.整数的正则表达式function isInt(intValue){var intPattern=/^0$|^[1-9]\d*$/; //整数的正则表达式result=intPattern.test(intValue);return result;}9.是否为字母和数字function isCharNum(flagValue){var flagPattern=/^[a-zA-Z0-9]*$/; //是否为字母和数字result=flagPattern.test(flagValue);return result;}10.检验18位⾝份证号码/*** 检验18位⾝份证号码(15位号码可以只检测⽣⽇是否正确即可,⾃⾏解决)** @param idCardValue* 18位⾝份证号* @returns 匹配返回true 不匹配返回false*/function idCardVildate(cid) {var arrExp = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ];// 加权因⼦var arrValid = [ 1, 0, "X", 9, 8, 7, 6, 5, 4, 3, 2 ];// 校验码var reg = /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/;if (reg.test(cid)) {var sum = 0, idx;for (var i = 0; i < cid.length - 1; i++) {// 对前17位数字与权值乘积求和sum += parseInt(cid.substr(i, 1), 10) * arrExp[i];}// 计算模(固定算法)idx = sum % 11;// 检验第18为是否与校验码相等return arrValid[idx] == cid.substr(17, 1).toUpperCase();} else {return false;}}11.验证15位数⾝份证号码中的⽣⽇是否是有效⽣⽇function isValidityBrithBy15IdCard(idCard15) {var year = idCard15.substring(6, 8);var month = idCard15.substring(8, 10);var day = idCard15.substring(10, 12);var temp_date = new Date(year, parseFloat(month) - 1, parseFloat(day));// 对于⽼⾝份证中的你年龄则不需考虑千年⾍问题⽽使⽤getYear()⽅法if (temp_date.getYear() != parseFloat(year)|| temp_date.getMonth() != parseFloat(month) - 1|| temp_date.getDate() != parseFloat(day)) {return false;} else {return true;}}12.验证18位数⾝份证号码中的⽣⽇是否是有效⽣⽇function isValidityBrithBy18IdCard(idCard18) {var year = idCard18.substring(6, 10);var month = idCard18.substring(10, 12);var day = idCard18.substring(12, 14);var temp_date = new Date(year, parseFloat(month) - 1, parseFloat(day));// 这⾥⽤getFullYear()获取年份,避免千年⾍问题if (temp_date.getFullYear() != parseFloat(year)|| temp_date.getMonth() != parseFloat(month) - 1|| temp_date.getDate() != parseFloat(day)) {return false;} else {return true;}}PS:js验证时间正则表达式验证时间格式为:2012-01-31 09:00:22var reDateTime = /^(?:19|20)[0-9][0-9]-(?:(?:0[1-9])|(?:1[0-2]))-(?:(?:[0-2][1-9])|(?:[1-3][0-1])) (?:(?:[0-2][0-3])|(?:[0-1][0-9])):[0-5][0-9]:[0-5][0-9]$/;var isDateTime = reDateTime.test('2012-01-31 09:00:22');以上所述是⼩编给⼤家介绍的JS常⽤正则表达式及验证时间的正则表达式,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。

js 验证 常用正则

js 验证 常用正则

js 验证常用正则JavaScript是一个非常强大的脚本语言,它是web开发中最广泛使用的语言之一。

它可以用于开发交互式网页以及许多其他应用程序。

JavaScript中的正则表达式是非常重要的,它可以用来验证用户输入的数据,例如电子邮件、电话号码、日期、时间等等。

在这篇文章中,我们将探讨一些常用的JavaScript正则表达式。

1. 验证电子邮件首先,我们来讨论一下如何验证一个电子邮件地址。

在JavaScript中,我们可以使用正则表达式来实现这个功能。

首先,我们需要一个包含电子邮件地址的字符串:```javascriptvaremail="*******************";```然后,我们需要一个正则表达式来验证电子邮件地址。

下面是一个简单的正则表达式,可以匹配大部分电子邮件地址:```javascriptvar emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;```现在,我们可以使用test()方法,将我们的电子邮件地址和正则表达式传递给它来验证电子邮件地址:```javascriptif (emailPattern.test(email)) {console.log("Valid email address");} else {console.log("Invalid email address");}```2. 验证电话号码下一个正则表达式,我们将探讨如何验证电话号码。

在JavaScript中,我们可以使用正则表达式来验证电话号码。

首先,我们需要一个包含电话号码的字符串:```javascriptvar phoneNumber = "123-456-7890";```然后,我们需要一个正则表达式来验证电话号码。

下面是一个简单的正则表达式,可以匹配大部分电话号码:```javascriptvar phonePattern = /^\d{3}-\d{3}-\d{4}$/;```现在,我们可以使用test()方法,将我们的电话号码和正则表达式传递给它来验证电话号码:```javascriptif (phonePattern.test(phoneNumber)) {console.log("Valid phone number");} else {console.log("Invalid phone number");}```3. 验证日期最后,我们将探讨如何验证日期。

js经典正则表达式

js经典正则表达式
//var pattern=/^(\s*)|(\s*)$///可以用来删除行首尾的空白字符(包括空格、制表符、换页符等等)
//var pattern=/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/;//字母开头,限制5-16字节,允许字母数字下划线
//var pattern=/^\d{3}-\d{8}|\d{4}-\d{7,8}$/;//匹配国内电话 如:0739-8888888(8) 或 020-88888888
//var pattern=/^(\w)\1{4,}*$/;//匹配整数
//var pattern=/-?[1-9]\d*$/;//匹配整数
//var pattern=/^[1-9]\d*$/;//匹配正整数
//var pattern=/^-[1-9]\d*$/;//匹配负整数
//var pattern=/^[1-9]\d*|0$/;//匹配非负整数
//var pattern2=/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/;//18位的身份证
var pattern=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;//匹配E-MALI地址
'限制只能输入数字和英文:onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"

JS中常用的正则表达式

JS中常用的正则表达式

JS中常⽤的正则表达式以下收录⼀些我经常⽤到的正则表达式,因为⼯作场景中⽤到正则的地⽅⼏乎都跟validate插件的验证有关系,所以以下正则也是$.validator.addMethod() 的拓展:电话验证/*** ⼿机* */$.validator.addMethod("isMobile", function (value, element) {var reg = /^((1[3-8][0-9])+\d{8})$/;return this.optional(element) || (reg.test(value));}, "⼿机格式不正确");/*** 号码,固话与⼿机都可以* */jQuery.validator.addMethod("allPhone", function(v, e) {return this.optional(e) || /^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/.test(v)||/^(1(([35][0-9])|(47)|[8][01236789]))\d{8}$/.test(v);},"请输⼊正确的号码:区号-电话号码/⼿机号");/*** 固话、传真,传真格式与固话是⼀样的* */jQuery.validator.addMethod("isTel", function(v, e) { return this.optional(e) || /^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/.test(v);}, "请输⼊正确的电话号码");数字验证/*** 正整数* */$.validator.addMethod("ispositivenum", function (value, element) {var reg = /^([0]|[1-9]\d*)$/;return this.optional(element) || (reg.test(value));}, "请输⼊正整数");/*** 正数(包括浮点数)* */$.validator.addMethod("pFloatTwo", function (value, element) {return this.optional(element) || (/^([1-9]\d*|[0])(\.\d{1,2})?$/.test(value));}, "请输⼊正数,最多保留两位⼩数");/*** 价格(包括浮点数)最⼤值99999.99* */$.validator.addMethod("price", function (value, element) {return this.optional(element) || (value>0&&(/^([1-9]\d{0,4}|[0])(\.\d{1,2})?$/.test(value)));}, "请输⼊正数,最⼤值99999.99,最多保留两位⼩数");/*** 规格* */$.validator.addMethod("size", function (value, element) {var reg = /^[1-9]\d{0,4}$/;return this.optional(element) || (reg.test(value));}, "请输⼊正整数,最⼤值99999");/*** 数量* */$.validator.addMethod("qty", function (value, element) {return this.optional(element) || (value>0 && (/^([1-9]\d{0,4}|[0])(\.\d{1,3})?$/.test(value)));}, "请输⼊正数,最⼤值99999.999,最多保留三位⼩数");车牌号码验证/*** 车牌号码验证* */$.validator.addMethod("isCarNo", function(value, element){var reg = /^[\u4e00-\u9fa5]{1}[a-zA-Z]{1}[a-zA-Z_0-9]{4}[a-zA-Z_0-9_\u4e00-\u9fa5]$|^[a-zA-Z]{2}\d{7}$ /;return this.optional(element) || (reg.test(value));},"请输⼊正确的车牌号码,⼤⼩写不区分");⾝份证号验证包括15位18位⾝份证验证//⾝份证15位转18位中,计算校验位即最后⼀位function GetVerifyBit(id){var result;var nNum=eval(id.charAt(0)*7+id.charAt(1)*9+id.charAt(2)*10+id.charAt(3)*5+id.charAt(4)*8+id.charAt(5)*4+id.charAt(6)*2+id.charAt(7)*1+id.charAt(8)*6+id.charAt(9)*3+id.charAt(10)*7+id.charAt(11)*9+id.charAt(12)*10+id.charAt(13)*5+id.charAt(14)*8+id.charAt nNum=nNum%11;switch (nNum) {case 0 :result="1";break;case 1 :result="0";break;case 2 :result="X";break;case 3 :result="9";break;case 4 :result="8";break;case 5 :result="7";break;case 6 :result="6";break;case 7 :result="5";break;case 8 :result="4";break;case 9 :result="3";break;case 10 :result="2";break;}//document.write(result);return result;}/*功能:验证⾝份证号码是否有效提⽰信息:未输⼊或输⼊⾝份证号不正确!使⽤:validateIdCard(obj,birthday,s)//s:1为男,0为⼥返回:0,1,2,3,4,5*/function validateIdCard(obj,birthday,s){var aCity={11:"北京",12:"天津",13:"河北",14:"⼭西",15:"内蒙古",21:"辽宁",22:"吉林",23:"⿊龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"⼭东",41:"河南",42:"湖北",43:"湖南",44:"⼴东",45:"⼴西",46:"海南",50:"重庆",51:"四川",52:"贵州",5 var iSum = 0;//var info = "";var strIDno = obj;if(birthday!=null){birthday = birthday.replace(/-/g,"/");}var idCardLength = strIDno.length;if(!/^\d{17}(\d|x)$/i.test(strIDno)&&!/^\d{15}$/i.test(strIDno)){return 1; //⾮法⾝份证号}if(aCity[parseInt(strIDno.substr(0,2))]==null){return 2;// ⾮法地区}// 15位⾝份证转换为18位if (idCardLength==15){sBirthday = "19" + strIDno.substr(6,2) + "-" + Number(strIDno.substr(8,2)) + "-" + Number(strIDno.substr(10,2));var d = new Date(sBirthday.replace(/-/g,"/"));var dd = d.getFullYear().toString() + "-" + (d.getMonth()+1) + "-" + d.getDate();var genderNo=strIDno.substr(14,1);if(sBirthday != dd){return 3; //⾮法⽣⽇}if(birthday==""){return 4;//您还没填写出⽣⽇期}if(birthday!=null && d.getTime()!=new Date(birthday).getTime()){return 5; //与出⽣⽇期不符}if(s!=null && s!=0 && s!=1){return 6;//您还没填写性别}if(s!=null && genderNo%2!=s){return 7;//与性别不符}strIDno=strIDno.substring(0,6)+"19"+strIDno.substring(6,15);strIDno=strIDno+GetVerifyBit(strIDno);}// 判断是否⼤于2078年,⼩于1900年var year =strIDno.substring(6,10);if (year<1900 || year>2078 ){return 3;//⾮法⽣⽇}/*if(){}*///18位⾝份证处理//在后⾯的运算中x相当于数字10,所以转换成astrIDno = strIDno.replace(/x$/i,"a");sBirthday=strIDno.substr(6,4)+"-"+Number(strIDno.substr(10,2))+"-"+Number(strIDno.substr(12,2));var d = new Date(sBirthday.replace(/-/g,"/"));var genderNo=strIDno.substr(16,1);if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate())){return 3; //⾮法⽣⽇}if(birthday==""){return 4;//您还没填写出⽣⽇期}if(birthday!=null && d.getTime()!=new Date(birthday).getTime()){return 5; //与出⽣⽇期不符}if(s!=null && s!=0 && s!=1){return 6;//您还没填写性别}if(s!=null && genderNo%2!=s){return 7;//与性别不符}// ⾝份证编码规范验证for(var i = 17;i>=0;i --){iSum += (Math.pow(2,i) % 11) * parseInt(strIDno.charAt(17 - i),11);}if(iSum%11!=1){return 1;// ⾮法⾝份证号}// 判断是否屏蔽⾝份证var words = new Array();words = new Array("11111119111111111","12121219121212121");for(var k=0;k<words.length;k++){if (strIDno.indexOf(words[k])!=-1){return 1;}}return 0;}//⾝份证(⽆关联验证)$.validator.addMethod("cretID", function(value, element, param){var n=validateIdCard(value);var error=["","⾮法⾝份证号","地区编号不合法","出⽣⽇期不合法"];param[1]=error[n];return this.optional(element) || n==0;},$.validator.format("{1}"));以上所述是⼩编给⼤家介绍的JS中常⽤的正则表达式,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。

js 字母或数字 正则

js 字母或数字 正则

js 字母或数字正则
这里是一个可以用中文写的JavaScript正则表达式,用于匹配字母或数字:
```
const regex = /[a-zA-Z0-9]/;
```
这个正则表达式可以用来检测一个字符串中是否包含字母或数字。

使用时,可以调用字符串的`test()`方法来判断是否匹配。

例如:```
regex.test('abc123'); // true
regex.test('hello_world'); // true
regex.test('!@#$%'); // false
```
上述正则表达式只匹配单个字母或数字。

如果想要匹配连续的字母或数字,可以使用`+`修饰符:
```
const regex = /[a-zA-Z0-9]+/;
```
这样,正则表达式会匹配一个或多个连续的字母或数字。

例如:```
regex.test('abc123'); // true
regex.test('hello_world'); // true
regex.test('!@#$%'); // false
regex.test('abc123!'); // true
```
希望这个解答对你有帮助!。

js数字的正则表达式

js数字的正则表达式

js数字的正则表达式正则表达式是一种用来描述、匹配文本模式的工具。

在 JavaScript 程序中,正则表达式能够轻松地处理文本、对文本进行快速的搜索、替换和分离等操作。

其中,表示数字的正则表达式是十分常见的,下面将介绍一些常用的 js 数字正则表达式。

1. 匹配整数:匹配一个整数,我们需要使用 ^ 和 $ 来匹配一个完整的数字。

大部分正则表达式都是以/ /(斜杠)包围起来的,形如:/^\d+$/其中,\d 表示匹配任意数字,+ 表示至少出现一次以上。

该正则表达式可以匹配任意多位数字的组合,但不能识别前导零和负号。

2. 匹配浮点数:如果需要使用正则表达式匹配一个浮点数时,我们可以使用以下正则表达式:/^[+-]?\d*\.?\d+$/其中,+表示匹配一个或多个,*表示匹配零个或多个。

该正则表达式可以匹配 "+45"、"-5.5"、"5.5"、"5." 和 ".5" 这样的数字。

3. 匹配零和非零开头的数字:如果我们需要匹配只以零开头的数字,可以使用以下正则表达式:/^0$|^0[0-9]+$/其中,| 表示逻辑或操作。

如果我们需要匹配非零开头的数字,可以使用这个正则表达式:/^[1-9]\d*$/其中,[1-9] 表示匹配任意非零数字,\d* 表示匹配任意多位数字。

4. 匹配数字范围:如果我们需要匹配数字的特定范围,例如 1 到 100 之间的数字,我们可以使用以下正则表达式:/^([1-9][0-9]?|100)$/该正则表达式只能匹配数字 1-100 之间的数字,不能识别前导零和非数字符号。

以上是一些常见的 js 数字正则表达式,希望能够对读者有所帮助。

在实际应用中,开发者应根据具体需求和实际情况进行调整和优化,以达到更好的匹配效果。

js中的正则表达式的例子

js中的正则表达式的例子

js中的正则表达式的例子正则表达式(RegExp)在JavaScript中是强大的字符串匹配工具,用于对字符串进行模式匹配和搜索。

以下是一些在JavaScript中使用正则表达式的例子:1.基本匹配:```javascriptlet pattern=/abc/;let str="abcdefg";console.log(pattern.test(str));//输出true,因为字符串中包含"abc"```2.忽略大小写匹配:```javascriptlet pattern=/abc/i;//i表示忽略大小写let str="AbCdEfG";console.log(pattern.test(str));//输出true```3.字符集合:```javascriptlet pattern=/[aeiou]/;let str="Hello";console.log(pattern.test(str));//输出true,因为字符串中包含元音字母```4.范围字符集合:```javascriptlet pattern=/[a-z]/;let str="Hello";console.log(pattern.test(str));//输出true,因为字符串中包含小写字母```5.反向字符集合:```javascriptlet pattern=/[^0-9]/;//匹配非数字let str="Hello123";console.log(pattern.test(str));//输出true,因为字符串中包含非数字字符```6.重复次数:```javascriptlet pattern=/\d{2,4}/;//匹配至少2次、最多4次数字let str="12345";console.log(pattern.test(str));//输出true```7.开始和结束位置锚定:```javascriptlet pattern=/^\d{3}$/;//限定字符串只能是3位数字let str="123";console.log(pattern.test(str));//输出true```8.分组和捕获:```javascriptlet pattern=/(\d+)-(\d+)/;//匹配并捕获连续的数字和破折号let str="123-456";let result=str.match(pattern);console.log(result);//输出["123-456","123","456"]```这些只是正则表达式在JavaScript中的基础用法示例。

JS常用正则表达式总结【经典】

JS常用正则表达式总结【经典】

JS常⽤正则表达式总结【经典】本⽂实例讲述了JS常⽤正则表达式。

分享给⼤家供⼤家参考,具体如下:在项⽬中个⼈写的⼀个常⽤验证的正则表达式:(仅供参考)//定义两个全局变量var reg;var errorInfo;//输⼊的数字类型必须是int型,正负整数都可以function validate_integer(text,value){reg=/^[-\+]?\d+$/;errorInfo=text+" "+value+" 只能是整数,请核实重新输⼊!";verifyByReg(value,reg,errorInfo);}//输⼊的数字类型必须是double型,保留的⼩数位数只能是2位,可以为正负function validate_double(text,value){reg=/^[-\+]?([1-9](\d+)?|0)(\.\d{2})$/;errorInfo=text+" "+value+" 只能保留2为⼩数,请核实重新输⼊";verifyByReg(value,reg,errorInfo);}//输⼊的必须是全是数字类型型,不能出现其他字符function validate_number(text,value){reg=/^\d+$/;errorInfo=text+" "+value+" 只能是数字,请核实重新输⼊";verifyByReg(value,reg,errorInfo);}//验证输⼊n位的数值类型function validate_number_n(text,value,n){reg=eval("/^\\d{"+n+"}$/");errorInfo=text+" "+value+" 只能是"+n+"位数字,请核实重新输⼊";verifyByReg(value,reg,errorInfo);}//验证有两位⼩数的正实数function validate_decimal_two(text,value){reg=/^([1-9](\d+)?|0)(.[0-9]{2})?$/;errorInfo=text+" "+value+" 只能是保留2位⼩数的正数,请核实重新输⼊";verifyByReg(value,reg,errorInfo);}//验证⾮零的正整数function validate_number_positive(text,value){reg=/^\+?[1-9][0-9]*$/;errorInfo=text+" "+value+" 只能是⾮0的正整数,请核实重新输⼊";verifyByReg(value,reg,errorInfo);}//验证⾮零的负整数function validate_number_negative(text,value){reg=/^[-][1-9][0-9]*$/;errorInfo=text+" "+value+" 只能是⾮0的负整数,请核实重新输⼊";verifyByReg(value,reg,errorInfo);}//验证⾮负整数,可以为0function validate_positive_haszero(text,value){reg=/^[1-9](\d+)?|0$/;errorInfo=text+" "+value+" 只能是是0或正整数,请核实重新输⼊";verifyByReg(value,reg,errorInfo);}//验证⾮正整数,可以为0function validate_negative_haszero(text,value){reg=/^\-[1-9](\d+)?|0$/;errorInfo=text+" "+value+" 只能是是0或负整数,请核实重新输⼊";verifyByReg(value,reg,errorInfo);}//验证⾮负浮点数(正浮点数 + 0)function validate_float_notnegative(text,value){reg=/^([1-9](\d+)?|0)(\.\d+)|0$/;errorInfo=text+" "+value+" 只能是是0或正浮点数,请核实重新输⼊";verifyByReg(value,reg,errorInfo);}//验证正浮点数function validate_float_positive(text,value){reg=/^([1-9](\d+)?|0)(\.\d+)$/;errorInfo=text+" "+value+" 只能是正浮点数,请核实重新输⼊";verifyByReg(value,reg,errorInfo);}//⾮正浮点数(负浮点数 + 0)function validate_float_notpositive(text,value){reg=/^\-([1-9](\d+)?|0)(\.\d+)|0$/;errorInfo=text+" "+value+" 只能是是0或者负浮点数,请核实重新输⼊";verifyByReg(value,reg,errorInfo);}//验证负浮点数function validate_float_negative(text,value){reg=/^\-([1-9](\d+)?|0)(\.\d+)$/;errorInfo=text+" "+value+" 只能是负浮点数,请核实重新输⼊";verifyByReg(value,reg,errorInfo);}//验证正浮点数多少位⼩数function validate_float_posbit(text,value,n){reg=eval("/^(\\d+)(\\.\\d{"+n+"})$/");errorInfo=text+" "+value+" 只能是"+n+"位正浮点数,请核实重新输⼊";verifyByReg(value,reg,errorInfo);}//验证负浮点数多少位⼩数function validate_float_negbit(text,value,n){reg=eval("/^(-?\\d+)(\\.\\d{"+n+"})$/");errorInfo=text+" "+value+" 只能是"+n+"位负浮点数,请核实重新输⼊";verifyByReg(value,reg,errorInfo);}//校验⽂本是否为空function checknull(text,value){if(value=="" || typeof(value)=='undefined'){errorInfo=text+" "+value+" 不能为空,请重新输⼊!";returnInfo(errorInfo);}}//验证由26个英⽂字母组成的字符串function validate_string_letter(text,value){reg=/^[A-Za-z]+$/;errorInfo=text+" "+value+" 只能是26位不区分⼤⼩写的英⽂字母组成,请核实重新输⼊"; verifyByReg(value,reg,errorInfo);}//验证由26个英⽂字母的⼤写组成的字符串function validate_string_bigletter(text,value){reg=/^[A-Z]+$/;errorInfo=text+" "+value+" 只能是26位⼤写的英⽂字母组成,请核实重新输⼊"; verifyByReg(value,reg,errorInfo);}//验证由26个英⽂字母的⼩写组成的字符串function validate_string_smallletter(text,value){reg=/^[a-z]+$/;errorInfo=text+" "+value+" 只能是26位⼩写的英⽂字母组成,请核实重新输⼊"; verifyByReg(value,reg,errorInfo);}//验证由数字和26个英⽂字母组成的字符串function validate_string_number(text,value){reg=/^[A-Za-z0-9]+$/;errorInfo=text+" "+value+" 只能是数字和26个英⽂字母组成,请核实重新输⼊"; verifyByReg(value,reg,errorInfo);}//验证由数字、26个英⽂字母或者下划线组成的字符串function validate_string_numberandunderline(text,value){reg=/^\w+$/;errorInfo=text+" "+value+" 只能是数字、26个英⽂字母或者下划线组成,请核实重新输⼊"; verifyByReg(value,reg,errorInfo);}//验证邮箱function validate_email(value){reg=/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;errorInfo='邮箱 '+value+" ⽆效,请重新输⼊";verifyByReg(value,reg,errorInfo);}//验证时如果选择默认调⽤此⽅法⾦额类型,可以是正整数或保留4位有效数字的正整数/**有问题function validate_money_default(text,value){var reg=/^\d+(\.\d{4})?$/;var errorInfo=text+" "+value+" 只能是正整数或保留4位有效数字,请核实重新输⼊"; verifyByReg(value,reg,errorInfo);}**///验证输⼊的只能是中⽂function validate_chinese(text,value){reg=/^[\u4e00-\u9fa5]+$/;errorInfo=text+" "+value+" 只能是中⽂字符,请重新输⼊";verifyByReg(value,reg,errorInfo);}//验证输⼊的只能是n位的中⽂function validate_bitchinese(text,value,bit){reg=eval("/^[\\u4e00-\\u9fa5]{"+bit+"}$/");alert(reg);errorInfo=text+" "+value+" 只能是"+bit+"位中⽂字符,请重新输⼊";verifyByReg(value,reg,errorInfo);}//跟最⼤的值⽐较,此⽅法是看数字是否超出系统的上限function thanMax(text,number,max){if(number>max){errorInfo=text+" "+number+" 不能⼤于"+max+",请重新输⼊";returnInfo(errorInfo);}}//跟最⼩的值⽐较,此⽅法是看数字是否低于系统的下限function thinMin(text,number,min){if(number<min){errorInfo=text +" "+number+" 不能⼩于"+min+",请重新输⼊";returnInfo(errorInfo);}}//输⼊⽂本的字符串是否在系统的指定长度内function isLimit(text,value,length){var arr=value.split("");if(arr.length>length){errorInfo=text +" "+value+" 字符过长,请输⼊最多"+length+"位字符";returnInfo(errorInfo);}}//邮政编码的验证function validate_zipcode(value){reg=/[1-9]\d{5}(?!\d)/;errorInfo='邮政编码 '+value+" 有误,请核实重新输⼊";verifyByReg(value,reg,errorInfo);}//对数值类型的数据进⾏简单的验证和转换,因为在设置的时候没有传⼊这个参数的话就会出现js代码错误,所以应该对数值型的数据进⾏转换//⾮空字符的判定function getZeroByNull(text,value){errorInfo=text+" "+value+" 不能为空,请核实重新输⼊";if(value==null||value==''||value=='undefined'){returnInfo(errorInfo);}}//⾝份证验证,分为了两种,15位和18位function validate_IdCard(value){var size=value.split("");if(size.length==15){reg=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;//15位⾝份证验证errorInfo='位⾝份证号码 '+value+" 有误,请核实重新输⼊";}else if(size.length==18){reg=/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X|x)$/;//18位⾝份证验证errorInfo='位⾝份证号码 '+value+" 有误,请核实重新输⼊";}else{errorInfo="请输⼊合法的⾝份证号码!";returnInfo(errorInfo);}verifyByReg(value,reg,errorInfo);}//每个验证都需要调⽤此⽅法function verifyByReg(value,reg,errorInfo){if(value!=''&&reg!=''){var regExp = new RegExp(reg);if(!regExp.test(value)){alert(errorInfo);throw errorInfo;}}}//不进过正则表达式验证,只需要返回信息,适合内部调⽤此⽅法function returnInfo(message){alert(message);throw message;}//许可证号⽣产企业的格式:QS 1234 2346 3456 其中空格可有可⽆///经营企业许可证的格式为: 湘010249 但是中国的省会简称可能会有三个字的,所以中⽂可以定义为1-3个function validate_license(value,type){if(type==1){reg=/^[a-zA-Z]{2}[ ]?(\d{4}[ ]?\d{4}[ ]?\d{4})$/;//⽣产企业许可证号errorInfo="⽣产许可证号 "+value+" 有误,请核实重新输⼊!";}else if(type==2){reg=/^[\u4e00-\u9fa5]{1,3}\d{6}$/;errorInfo="经营许可证号 "+value+" 有误,请核实重新输⼊!";}verifyByReg(value,reg,errorInfo);}//传真可以匹配的字符串如:+123 -999 999 ; +123-999 999 ;123 999 999 ;+123 999999等function validate_fax(value){reg=/^([+]{0,1})?\d{1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;errorInfo="传真 "+value+" 有误,请重新输⼊!";verifyByReg(value,reg,errorInfo);}//电话号码可以输⼊:电话或者⼿机其中⼿机号码可以是(+86)、(86)+号码,也可以是号码电话的号码可以是区号+号码区号-号码号码function validate_tel(value){reg=/(^(0\d{2,3}([-|+])?)?\d{7}$)|(^(\d{3,4}([-|+])?)?\d{7,8}$)|(^([+]?(86)?[+]?)1[3-9]\d{9}$)/;errorInfo='电话号码 '+value+" 有误,请核实重新输⼊!";verifyByReg(value,reg,errorInfo);}//⽇:⼤于0⼩于等于31的正整数function validate_day(value){reg=/(^[0]?[1-9]$)|(^[1-2]\d$)|(^[3][0-1]$)/;errorInfo='⽇期 '+value+" 有误,请核实重新输⼊!";verifyByReg(value,reg,errorInfo);}//⽉:合法⽉份function validate_month(value){reg=/(^[0]?[1-9]$)|(^[1][0-2]$)/;errorInfo='⽉份 '+value+" 有误,请核实重新输⼊!";verifyByReg(value,reg,errorInfo);}//年:合法年份在这⾥合法的年份为公元1000年⾄公元2999年function validate_year(value){reg=/^[1-2]\d{3}$/;errorInfo='年份 '+value+" 有误,请核实重新输⼊!";verifyByReg(value,reg,errorInfo);}//百分⽐:合法百分⽐(0-100之前的数字)function validate_percentage(text,value){reg=/(^[1-9](\d)?(\.\d+)?$)|(^0(\.\d+)?$)|(^100$)/;errorInfo=text +" "+value+" 有误,请输⼊0到100的数字!";verifyByReg(value,reg,errorInfo);}//系数:⼩于等于1的正数在这⾥系数的⼩数点后⾯也是2位function validate_modulus(text,value){reg=/^[0](\.\d{2})$|^[1](\.[0]{2})?$/;errorInfo=text+" "+value+" 有误,请输⼊⼩于0到1的数字!";verifyByReg(value,reg,errorInfo);}//验证⾮负的正数,包含了正整数和正浮点数function validate_posnumhaszero(text,value){checknull(text,value);reg=/^[1-9](\d+)?(\.\d+)?$|^0(\.\d+)?$/;errorInfo=text+" "+value+" 有误,请输⼊⼤于或等于0 的数字!";verifyByReg(value,reg,errorInfo);}//验证⾮正的负数,包含了负整数和负浮点数function validate_negnumhaszero(text,value){checknull(text,value);reg=/^[-][1-9](\d+)?(\.\d+)?$|^[-]0(\.\d+)?$/;errorInfo=text+" "+value+" 有误,请输⼊⼩于或等于0 的数字!";verifyByReg(value,reg,errorInfo);}//验证正数,包含了正整数和正浮点数function validate_posnum(text,value){checknull(text,value);reg=/^[1-9](\d+)?(\.\d+)?$|^0(\.\d+)$/;errorInfo=text+" "+value+" 有误,请输⼊⼤于0 的数字!";verifyByReg(value,reg,errorInfo);}//验证负数,包含了负整数和负浮点数function validate_negnum(text,value){checknull(text,value);reg=/^[-][1-9](\d+)?(\.\d+)?$|^[-]0(\.\d+)$/;errorInfo=text+" "+value+" 有误,请输⼊⼩于0 的数字!";verifyByReg(value,reg,errorInfo);}//验证数,包括所有的数值,正数、负数、正浮点数、负浮点数function validate_allnum(text,value){checknull(text,value);reg=/^[-|+]?[1-9](\d+)?(\.\d+)?$|^[-|+]?0(\.\d+)?$/;errorInfo=text+" "+value+" 有误,请输⼊数字!";verifyByReg(value,reg,errorInfo);}PS:这⾥再为⼤家提供2款⾮常⽅便的正则表达式⼯具供⼤家参考使⽤:更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》及《》希望本⽂所述对⼤家JavaScript程序设计有所帮助。

JS常用正则表达式

JS常用正则表达式

JS常⽤正则表达式JS常⽤正则表达式⼀常⽤正则\ :将下⼀个字符标记为⼀个特殊字符、或⼀个原义字符、或⼀个向后引⽤、或⼀个⼋进制转义符。

例如:"\d" 匹配数字字符,⽽不是匹配字母d。

^ :匹配输⼊的开始位置。

如果多⾏标志被设置为 true,那么也匹配换⾏符后紧跟的位置。

例如:/^A/ 并不会匹配 "an A" 中的 'A',但是会匹配 "An E" 中的 'A'。

$ :匹配输⼊的结束位置。

如果多⾏标志被设置为 true,那么也匹配换⾏符前的位置。

例如:/t$/ 并不会匹配 "eater" 中的 't',但是会匹配 "eat" 中的 't'。

* :匹配⼀个表达式 0 次或多次,等价于 {0, }。

例如:/bo*/ 会匹配 "A ghost boooooed" 中的 'booooo' 和 "A bird warbled" 中的 'b',但是在 "A goat grunted" 中不会匹配任何内容。

+ :匹配前⾯⼀个表达式 1 次或多次,等价于{1, }。

例如:/a+/ 会匹配 "candy" 中的 'a' 和 "caaaaaaandy" 中所有的 'a',但是在 "cndy" 中不会匹配任何内容。

:匹配前⾯⼀个表达式 0 次或 1 次,等价于{0, 1}。

例如:/e?le?/ 匹配 "angel" 中的 'el'、"angle" 中的 'le' 以及 "oslo' 中的 'l'。

100到5000正则js表达式

100到5000正则js表达式

100到5000正则js表达式
正则表达式是一种用于匹配字符串模式的工具,可以用来匹配
特定的字符、数字、符号等。

对于匹配100到5000之间的数字,可
以使用如下的正则表达式:
\b(10[0-9]|1[1-9][0-9]|[2-4][0-9]{2}|5000)\b.
让我来解释一下这个表达式:
\b 表示单词边界,确保匹配的是整个单词而不是单词的一部分。

(10[0-9]|1[1-9][0-9]|[2-4][0-9]{2}|5000) 是一个分组,用
于匹配100到5000之间的数字。

10[0-9] 匹配100到109之间的数字。

1[1-9][0-9] 匹配110到199之间的数字。

[2-4][0-9]{2} 匹配200到499之间的数字。

5000 匹配5000这个数字。

这个正则表达式可以有效地匹配100到5000之间的数字,不会匹配到其他范围的数字或包含其他字符的字符串。

希望这个回答能够帮助到你。

js最常用 正则表达式

js最常用 正则表达式
验证InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$
验证电话号码:^(\d3,4|\d{3,4}-)?\d{7,8}$:--正确格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。
验证由26个英文字母组成的字符串:^[A-Za-z]+$
验证由26个大写英文字母组成的字符串:^[A-Z]+$
验证由26个小写英文字母组成的字符串:^[a-z]+$
验证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$
验证由数字、26个英文字母或者下划线组成的字符串:^\w+$
return true;
else
alert("oh");
}
</SCRIPT>
<input type=text onblur=isEmail(this.value)>
7. 屏蔽关键字(这里屏蔽***和****)
<script language="javascript1.2">
function test() {
}
}
</script>
<form name=a onsubmit="return test()">
<textarea name="b" cols="40" wrap="VIRTUAL" rows="6"></textarea>

JS正则表达式大全

JS正则表达式大全

JS正则表达式大全JS正则表达式大全【1】正则表达式中的特殊字符【留着以后查用】字符含意\ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界。

-或-对正则表达式功能字符的还原,如"*"匹配它前面元字符0次或多次,/a*/将匹配a,aa,aaa,加了"\"后,/a\*/将只匹配"a*"。

^ 匹配一个输入或一行的开头,/^a/匹配"an A",而不匹配"An a"$ 匹配一个输入或一行的结尾,/a$/匹配"An a",而不匹配"an A"* 匹配前面元字符0次或多次,/ba*/将匹配b,ba,baa,baaa+ 匹配前面元字符1次或多次,/ba*/将匹配ba,baa,baaa? 匹配前面元字符0次或1次,/ba*/将匹配b,ba(x) 匹配x保存x在名为$1...$9的变量中x|y 匹配x或y{n} 精确匹配n次{n,} 匹配n次以上{n,m} 匹配n-m次[xyz] 字符集(character set),匹配这个集合中的任一一个字符(或元字符)[^xyz] 不匹配这个集合中的任何一个字符[\b] 匹配一个退格符\b 匹配一个单词的边界\B 匹配一个单词的非边界\cX 这儿,X是一个控制符,/\cM/匹配Ctrl-M\d 匹配一个字数字符,/\d/ = /[0-9]/\D 匹配一个非字数字符,/\D/ = /[^0-9]/\n 匹配一个换行符\r 匹配一个回车符\s 匹配一个空白字符,包括\n,\r,\f,\t,\v等\S 匹配一个非空白字符,等于/[^\n\f\r\t\v]/\t 匹配一个制表符\v 匹配一个重直制表符\w 匹配一个可以组成单词的字符(alphanumeric,这是我的意译,含数字),包括下划线,如[\w]匹配"$5.98"中的5,等于[a-zA-Z0-9]\W 匹配一个不可以组成单词的字符,如[\W]匹配"$5.98"中的$,等于[^a-zA-Z0-9]。

JavaScript正则表达式大全

JavaScript正则表达式大全
评注:处理大量数据时有用,具体应用时注意修正
在使用RegularExpressionValidator验证控件时的验证功能及其验证表达式介绍如下:
只能输入零和非零开头的数字:“^(0|[1-9][0-9]*)$”
只能输入有两位小数的正实数:“^[0-9]+(.[0-9]{2})?$”
只能输入有1-3位小数的正实数:“^[0-9]+(.[0-9]{1,3})?$”
只能输入由数字和26个英文字母组成的字符串:“^[A-Za-z0-9]+$”
只能输入由数字、26个英文字母或者下划线组成的字符串:“^w+$”
验证用户密码:“^[a-zA-Z]w{5,17}$”正确格式为:以字母开头,长度在6-18之间,
只能包含字符、数字和下划线。
验证是否含有^%&',;=?$"等字符:“[^%&',;=?$x22]+”
只能输入非零的正整数:“^+?[1-9][0-9]*$”
只能输入非零的负整数:“^-[1-9][0-9]*$”
只能输入长度为3的字符:“^.{3}$”
只能输入由26个英文字母组成的字符串:“^[A-Za-z]+$”
只能输入由26个大写英文字母组成的字符串:“^[A-Z]+$”
只能输入由26个小写英文字母组成的字符串:“^[a-z]+$”
用正则表达式限制只能输入全角字符: onkeyup="value="/blog/value.replace(/["^uFF00-uFFFF]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^uFF00-uFFFF]/g,''))"

js常用正则表达式大全--如:数字,字符等

js常用正则表达式大全--如:数字,字符等

js常⽤正则表达式⼤全--如:数字,字符等⼀、校验数字的表达式1 数字:^[0-9]*$2 n位的数字:^\d{n}$3 ⾄少n位的数字:^\d{n,}$4 m-n位的数字:^\d{m,n}$5 零和⾮零开头的数字:^(0|[1-9][0-9]*)$6 ⾮零开头的最多带两位⼩数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$7 带1-2位⼩数的正数或负数:^(\-)?\d+(\.\d{1,2})?$8 正数、负数、和⼩数:^(\-|\+)?\d+(\.\d+)?$9 有两位⼩数的正实数:^[0-9]+(.[0-9]{2})?$10 有1~3位⼩数的正实数:^[0-9]+(.[0-9]{1,3})?$11 ⾮零的正整数:^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$12 ⾮零的负整数:^\-[1-9][]0-9"*$ 或 ^-[1-9]\d*$13 ⾮负整数:^\d+$ 或 ^[1-9]\d*|0$14 ⾮正整数:^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$15 ⾮负浮点数:^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$16 ⾮正浮点数:^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 或 ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$17 正浮点数:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ 或 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$18 负浮点数:^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ 或 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$19 浮点数:^(-?\d+)(\.\d+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$⼆、校验字符的表达式1 汉字:^[\u4e00-\u9fa5]{0,}$2 英⽂和数字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$3 长度为3-20的所有字符:^.{3,20}$4 由26个英⽂字母组成的字符串:^[A-Za-z]+$5 由26个⼤写英⽂字母组成的字符串:^[A-Z]+$6 由26个⼩写英⽂字母组成的字符串:^[a-z]+$7 由数字和26个英⽂字母组成的字符串:^[A-Za-z0-9]+$8 由数字、26个英⽂字母或者下划线组成的字符串:^\w+$ 或 ^\w{3,20}$9 中⽂、英⽂、数字包括下划线:^[\u4E00-\u9FA5A-Za-z0-9_]+$10 中⽂、英⽂、数字但不包括下划线等符号:^[\u4E00-\u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$11 可以输⼊含有^%&',;=?$\"等字符:[^%&',;=?$\x22]+12 禁⽌输⼊含有~的字符:[^~\x22]+三、特殊需求表达式1 Email地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$2 域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?3 InternetURL:[a-zA-z]+://[^\s]* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$4 ⼿机号码:^(13[0-9]|14[0-9]|15[0-9]|166|17[0-9]|18[0-9]|19[8|9])\d{8}$4.1 var re = /^(1[3-9][0-9]{9})$/;//如:if (re.test(vmData.PHONE) === false) {alert("⼿机号格式不正确");return;}5 电话号码("XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX):^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$6 国内电话号码(0511-*******、021-********):\d{3}-\d{8}|\d{4}-\d{7}7 18位⾝份证号码(数字、字母x结尾):^((\d{18})|([0-9x]{18})|([0-9X]{18}))$8 帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$9 密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线):^[a-zA-Z]\w{5,17}$10 强密码(必须包含⼤⼩写字母和数字的组合,不能使⽤特殊字符,长度在8-10之间):^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$11 ⽇期格式:^\d{4}-\d{1,2}-\d{1,2}12 ⼀年的12个⽉(01~09和1~12):^(0?[1-9]|1[0-2])$13 ⼀个⽉的31天(01~09和1~31):^((0?[1-9])|((1|2)[0-9])|30|31)$14 钱的输⼊格式:15 1.有四种钱的表⽰形式我们可以接受:"10000.00" 和 "10,000.00", 和没有 "分" 的 "10000" 和 "10,000":^[1-9][0-9]*$16 2.这表⽰任意⼀个不以0开头的数字,但是,这也意味着⼀个字符"0"不通过,所以我们采⽤下⾯的形式:^(0|[1-9][0-9]*)$17 3.⼀个0或者⼀个不以0开头的数字.我们还可以允许开头有⼀个负号:^(0|-?[1-9][0-9]*)$18 4.这表⽰⼀个0或者⼀个可能为负的开头不为0的数字.让⽤户以0开头好了.把负号的也去掉,因为钱总不能是负的吧.下⾯我们要加的是说明可能的⼩数部分:^[0-9]+(.[0-9]+)?$19 5.必须说明的是,⼩数点后⾯⾄少应该有1位数,所以"10."是不通过的,但是 "10" 和 "10.2" 是通过的:^[0-9]+(.[0-9]{2})?$20 6.这样我们规定⼩数点后⾯必须有两位,如果你认为太苛刻了,可以这样:^[0-9]+(.[0-9]{1,2})?$21 7.这样就允许⽤户只写⼀位⼩数.下⾯我们该考虑数字中的逗号了,我们可以这样:^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$22 8.1到3个数字,后⾯跟着任意个逗号+3个数字,逗号成为可选,⽽不是必须:^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$23 备注:这就是最终结果了,别忘了"+"可以⽤"*"替代如果你觉得空字符串也可以接受的话(奇怪,为什么?)最后,别忘了在⽤函数时去掉去掉那个反斜杠,⼀般的错误都在这⾥24 xml⽂件:^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$25 中⽂字符的正则表达式:[\u4e00-\u9fa5]26 双字节字符:[^\x00-\xff] (包括汉字在内,可以⽤来计算字符串的长度(⼀个双字节字符长度计2,ASCII字符计1))27 空⽩⾏的正则表达式:\n\s*\r (可以⽤来删除空⽩⾏)28 HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1>|<.*? /> (⽹上流传的版本太糟糕,上⾯这个也仅仅能部分,对于复杂的嵌套标记依旧⽆能为⼒)29 ⾸尾空⽩字符的正则表达式:^\s*|\s*$或(^\s*)|(\s*$) (可以⽤来删除⾏⾸⾏尾的空⽩字符(包括空格、制表符、换页符等等),⾮常有⽤的表达式)30 腾讯QQ号:[1-9][0-9]{4,} (腾讯QQ号从10000开始)31 中国邮政编码:[1-9]\d{5}(?!\d) (中国邮政编码为6位数字)32 IP地址:\d+\.\d+\.\d+\.\d+ (提取IP地址时有⽤)33 IP地址:((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)) (由@飞龙三少提供,感谢共享)转载⾃:作者:出处:本⽂版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在⽂章页⾯明显位置给出原⽂连接,否则保留追究法律责任的权利。

JS常用正则表达式

JS常用正则表达式
alert("IP值是:"+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1))
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配网址URL的正则表达式:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
^-?[1-9]\d*$ //匹配整数
^[1-9]\d*|0$ //匹配非负整数(正整数 + 0)
^-[1-9]\d*|0$ //匹配非正整数(负整数 + 0)
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ //匹配正浮点数
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ //匹配负浮点数
只能输入由26个英文字母组成的字符串:"^[A-Za-z]+$"。
只能输入由26个大写英文字母组成的字符串:"^[A-Z]+$"。
只能输入由26个小写英文字母组成的字符串:"^[a-z]+$"。
只能输入由数字和26个英文字母组成的字符串:"^[A-Za-z0-9]+$"。
只能输入由数字、26个英文字母或者下划线组成的字符串:"^\w+$"。
IdCard : /^\d{15}(\d{2}[A-Za-z0-9])?$/
Currency : /^\d+(\.\d+)?$/

JS正则表达式完整版

JS正则表达式完整版

第21页
2012-6-1
正则表达式的字符类
第22页
2012-6-1
虽然正则表达式中的每个字符类都可以匹配一系列字符,但是每个字符类可
以匹配的字符数只能有一个。例如以下正则表达式中,可以匹配的字符有"a"、
"b"、"c"也可以匹配字符串"abc"中的任何一个字符,但是不能匹配整个"abc" 字符串。
document.write(str.indexOf("class",10)+"<br>"); //第1次出现"classes"的位置 document.write(str.indexOf("classes")+"<br>"); //最后1次出现"class"的位置 document.write(stIndexOf("class")+"<br>"); //从第11个字符开始向前搜索,最后1次出现"class"的位置 document.write(stIndexOf("class",10)+"<br>");
重复类
字符与字符类都只能匹配单个字符,例如正则表达式"/\d/"可以匹配数字 0-9,如果要匹配一个两位数,就必须使用两次"\d"也就是正则表达式 "/\d\d/"。如果要匹配一个四位数,那就要使用"/\d\d\d\d/"如果要匹配一个 18位的身份证号码,那就要使用18次“\d”。 为了解决以上问题,在正则表达式中提供了重复类,使用重复类可以指 定字符要重复的次数。最常见的重复类为"?"和"*",其中"*"代表可以匹配 前一个字符0次或多次。例如"/ad*/"可以匹配"a"、"ab"、"add"等字符。而 "?"可以匹配前一个字符0次或1次。例如"/ad?/"可以匹配"a","ad"但不能 匹配"add"。

JS常用各种正则表达式(汇总)

JS常用各种正则表达式(汇总)

JS常⽤各种正则表达式(汇总)匹配URL这个url的正则表达式判断的JavaScript!⽐较全⾯的。

它验证的情况包括IP,域名(domain),ftp,⼆级域名,域名中的⽂件,域名加上端⼝!⽤户名等等信息,function IsURL(str_url) {var strRegex ="^((https|http|ftp|rtsp|mms)?://)" +"?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" + //ftp的user@"(([0-9]{1,3}.){3}[0-9]{1,3}" + // IP形式的URL- 199.194.52.184"|" + // 允许IP和DOMAIN(域名)"([0-9a-z_!~*'()-]+.)*" + // 域名- www."([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]." + // ⼆级域名"[a-z]{2,6})" + // first level domain- .com or .museum"(:[0-9]{1,4})?" + // 端⼝- :80"((/?)|" + // a slash isn't required if there is no file name"(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$";var re = new RegExp(strRegex);//re.test()if (re.test(str_url)) {return true;} else {return false;}}的过于严格,看 的function CheckUrl(str) {var RegUrl = new RegExp();pile("^[A-Za-z]+://[A-Za-z0-9-_]+\\.[A-Za-z0-9-_%&\?\/.=]+$"); //if (!RegUrl.test(str)) {return false;}return true;}还有⼀个function checkUrl(urlString) {if (urlString != "") {var reg = /(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?/;if (!reg.test(urlString)) {alert("不是正确的⽹址吧,请注意检查⼀下");}}}匹配⼿机号var myreg=/^[1][3,4,5,6,7,8,9][0-9]{9}$/;1--以1为开头;2--第⼆位可为3,4,5,6,7,8,9中的任意⼀位;3--最后以0-9的9个整数结尾。

JS正则表达式大全

JS正则表达式大全

JS正则表达式大全正则表达式中的特殊字符字符含意\\ 做为转意,即通常在\后面的字符不按原来意义解释,如/b/匹配字符\,当b前面加了反斜杆后/\\b/,转意为匹配一个单词的边界。

-或-对正则表达式功能字符的还原,如\匹配它前面元字符0次或多次,/a*/将匹配a,aa,aaa,加了\后,/a\\*/将只匹配\。

^ 匹配一个输入或一行的开头,/^a/匹配\,而不匹配\$ 匹配一个输入或一行的结尾,/a$/匹配\,而不匹配\* 匹配前面元字符0次或多次,/ba*/将匹配b,ba,baa,baaa + 匹配前面元字符1次或多次,/ba*/将匹配ba,baa,baaa ? 匹配前面元字符0次或1次,/ba*/将匹配b,ba (x) 匹配x保存x在名为$1...$9的变量中 x|y 匹配x或y {n} 精确匹配n次 {n,} 匹配n次以上 {n,m} 匹配n-m次[xyz] 字符集(character set),匹配这个集合中的任一一个字符(或元字符) [^xyz] 不匹配这个集合中的任何一个字符 [\\b] 匹配一个退格符 \\b 匹配一个单词的边界\\B 匹配一个单词的非边界\\cX 这儿,X是一个控制符,/\\cM/匹配Ctrl-M \\d 匹配一个字数字符,/\\d/ = /[0-9]/ \\D 匹配一个非字数字符,/\\D/ = /[^0-9]/ \\n 匹配一个换行符 \\r 匹配一个回车符\\s 匹配一个空白字符,包括\\n,\\r,\\f,\\t,\\v等 \\S 匹配一个非空白字符,等于/[^\\n\\f\\r\\t\\v]/ \\t 匹配一个制表符\\v 匹配一个重直制表符\\w 匹配一个可以组成单词的字符(alphanumeric,这是我的意译,含数字),包括下划线,如[\\w]匹配\中的5,等于[a-zA-Z0-9]\\W 匹配一个不可以组成单词的字符,如[\\W]匹配\中的$,等于[^a-zA-Z0-9]。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JS正则表达式大全【3】
about → javascript 2009-02-18 09:47 阅读20 评论0
字号:大中小
以下是正则表达式的属性:
字符含义
_________________________________________
i 执行大小写不敏感的匹配
g 执行一个全局的匹配,简而言之,就是找到所有的匹配,而不是在找到第一个之后就停止了
_________________________________________
除属性g 和i 之外,正则表达式就没有其它像属性一样的特性了.如果将构造函数RegExp 的静态属性multiline 设置为true ,那么模式匹配将以多行的模式进行.在这
种模式下,锚字符^ 和$匹配的不只是检索字符串的开头和结尾,还匹配检索字符串内部的一行的开头和结尾.例如: 模式/Java$/ 匹配的是"Java",但是并不匹配
"Java\nis fun" .如果我们设置了multiline 属性,那么后者也将被匹配:
RegExp.multiline = true;
在JAVASCRIPT里面判断一个字符串是否是电子邮件的格式:
if(formname.email.value!=formname.email.value.match(/^\w +[@]\w +[.][\w.] +$/))
{
alert("您的电子邮件格式错误!");
formname.email.focus();
return false;
}
阅读全文(42) | 回复(0) | 引用(0) | [用365key收藏此日志]
[RED]function dateVerify(date){
var reg = /^(\d{4})(-)(\d{2})\2(\d{2})$/;
var r = date.match(reg);
if(r==null) return false;
var d= new Date(r[1], r[3]-1,r[4]);
var newStr=d.getFullYear()+r[2]+(d.getMonth()+1)+r[2]+d.getDate();
date=r[1]+r[2]+((r[3]-1)+1)+r[2]+((r[4]-1)+1);
return newStr==date;
}[/RED]
javascript的17种正则表达式
作者:不祥时间: 2004-6-9
"^\\d+$"//非负整数(正整数+ 0)
"^[0-9]*[1-9][0-9]*$"//正整数
"^((-\\d+)|(0+))$"//非正整数(负整数+ 0)
"^-[0-9]*[1-9][0-9]*$"//负整数
"^-?\\d+$"//整数
"^\\d+(\\.\\d+)?$"//非负浮点数(正浮点数+ 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+)?)|(0+(\\.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+)?$"//浮点数
"^[A-Za-z]+$"//由26个英文字母组成的字符串
"^[A-Z]+$"//由26个英文字母的大写组成的字符串
"^[a-z]+$"//由26个英文字母的小写组成的字符串
"^[A-Za-z0-9]+$"//由数字和26个英文字母组成的字符串
"^\\w+$"//由数字、26个英文字母或者下划线组成的字符串
"^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$"//email地址
"^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$"//url
JavaScript中的正则表达式(2)
作者:中国论坛网收集来源: 加入时间:2004-8-25
正则表达式对象的属性及方法
预定义的正则表达式拥有有以下静态属性:input, multiline, lastMatch, lastParen, leftContext, rightContext 和$1到$9。

其中input和multiline可以预设置。

其他属性的值在执行过exec或test方法后被根据不同条件赋以不同的值。

许多属性同时拥有长和短(perl风格)的两个名字,并且,这两个名字指向同一个值。

(JavaScript模拟perl的正则表达式)
正则表达式对象的属性
属性含义
$1...$9 如果它(们)存在,是匹配到的子串
$_ 参见input
$* 参见multiline
$& 参见lastMatch
$+ 参见lastParen
$` 参见leftContext
$''参见rightContext
constructor创建一个对象的一个特殊的函数原型
global是否在整个串中匹配(bool型)
ignoreCase匹配时是否忽略大小写(bool型) input被匹配的串
lastIndex最后一次匹配的索引
lastParen最后一个括号括起来的子串leftContext最近一次匹配以左的子串multiline是否进行多行匹配(bool型) prototype允许附加属性给对象rightContext最近一次匹配以右的子串source正则表达式模式
lastIndex最后一次匹配的索引
正则表达式对象的方法
方法含义
compile正则表达式比较
exec执行查找
test进行匹配
toSource 返回特定对象的定义(literal representing),其值可用来创建一个新的对象。

重载Object.toSource方法得到的。

toString返回特定对象的串。

重载Object.toString方法得到的。

valueOf返回特定对象的原始值。

重载Object.valueOf方法得到例子
<script language = "JavaScript">
var myReg = /(w+)s(w+)/;
var str = "John Smith";
var newstr = str.replace(myReg, "$2, $1");
document.write(newstr);
</script>
将输出"Smith, John"。

相关文档
最新文档