自己整理的正则表达式(方便用的时候查看)
一、整数、字母、时间正则表达式
"^\\d+$" //非负整数(正整数 + 0)
"^[0-9]*[1-9][0-9]*$" //正整数(0不是正整数,第一位数字为0时也会判断是正整数,如001是)
"^[1-9]\d*$" //正整数(0不是正整数,第一位数字为0时会判断不是正整数,如001不是)
"^((-\\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
"^[a-zA-Z_-\s]*$" //由26个英文字母和下划线、中划线、空格组成的字符串
"\d" //至少包含一个数字
"([0-1]\d|2[0-3]):[0-5]\d:[0-5]\d" //时间格式:小时是00-23,分钟是00-59,秒钟00-59
"^([01](\.0+)?|0\.[0-9]+)$" //大于等于0并且小于等于1的数
二、小技巧
"^([0-9]\d{0,1}[.][0-9]\d{1,2})$" //判断小数点前是一到两位数字,小数点后是二到三位数字的小数
备注:\d{0,1}代表一到两位数字,小数点后的\d{1,2}代表二到三位数字,小数点后的\d{1,2}去掉代表默认一位。
"^([0-9]\d{0,1}[.][0-9])$" //判断小数点前是一到二位数字,小数点后是一位数字的小数
"^[+]{0,1}[1-9]\d*$" //判断第一位是加号的整数或者纯整数
"^[+][1-9]\d*$" //判断第一位是加号的整数
三、JS中使用
(1)js中replace(/\s/g,"")
意思是 把字符串中所有的空格去掉。
这个函数是js的字符串替换函数,这个函数有两个参数,第一个函数可以是字符串或正则表达式(用以进行匹配的子字符串),第二个函数是字符串(替换匹配的子字符串)。就是在原字符串上把和第一个参数相同的字符串替换成第二个参数的字符串。
这个例子使用的是正则表达式匹配字符串,其中
1.”/ /”这个是固定写法,
2.”\s”是转移符号用以匹配任何空白字符,包括空格、制表符、换页符等等,
3.”g”表示全局匹配将替换所有匹配的子串,如果不加”g”当匹配到第一个后就结束了。
这个例子的意思就是将原字符串中的所有空白字符替换成”“,比如”abc d efg “字样的字符串使用这个函数后将变成”abcdefg”。
(2)判断整数
var re = /^[1-9]\d*$/;
var txtICCardOut = "102.5 ";
if (!re.test(txtICCardOut.replace(/\s+/g,‘‘)))
{
alert("卡号必须为数字 !");
return false;
}
var reg = new RegExp("^([1-9]|[1-9]\\d|100)$");
var a=101;
if(!reg.test(a)) {
alert("请输入1-100的整数!")
}
var reg = new RegExp("^(\\d|[1-9]\\d|100)$");
var a=101;
if(!reg.test(a)) {
alert("请输入0-100的整数!")
}
(3)JS 正则表达式 获取小括号 中括号 花括号内的内容
var str="123{xxxx}456[我的]789123[你的]456(1389090)789";
var regex1 = /\((.+?)\)/g; // () 小括号
var regex2 = /\[(.+?)\]/g; // [] 中括号
var regex3 = /\{(.+?)\}/g; // {} 花括号,大括号
// 输出是一个数组
console.log(str.match(regex1));
console.log(str.match(regex2));
console.log(str.match(regex3));
四、C#中使用
判断str是否是正整数
string str = "zty";
System.Text.RegularExpressions.Regex.IsMatch(str, "^[0-9]*[1-9][0-9]*$")
备注:有其他用到的后续再加