只能输入数 字:"^[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"*$。
只能输入长度为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]+"。
只能输入汉字:"^[\一-\龥]{0,}$"
验证Email地址:"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"。
验证InternetURL:"^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"。
验证电话号码:"^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$"正确格式为:"XXX-XXXXXXX"、"XXXX- XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX"。
验证身份证号(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"。
1,正则表达式的用途:正则表达式是用来判断“字 符串”是否符合某个“样式”时,这个“样式”的表达方式。
2,正则表达式的写法:
1)可以使用“//”括住正则表达式的样式,当在程序中使用正则表达式时,这是最快速容易的方式。
2)可以用类方法建立对象“Regxep.new(str)”这种写法。原来已经有了一个代表样式的字符串时,用这种方式建立正则表达式会比较方 便。
3)“%r”,当正则表达式内部用到“/”字符时,改用“%r”会比较方便。
3,正则表达式的匹配:符号“=~”,写法:正则 表达式 =~ 字符串;不成立时会返回nil,成立时会返回字符串中与样式匹配成功的起始位置。
4,正则表达式的样式:
1)英文字母与数字:只会单纯地去匹配字符串里是否包含相同的文字。
2)转义字符:
a,“^”表示“与行首匹配成功的样式”;“$”表示“与行尾匹配成功的样式”;“\A”表示“与字符串头匹配成功的样式”;“\z”表示“与字符 串尾匹配成功的样式”。
b,“[]”表示“与其中任意一个字符匹配”;“[-]”表示“匹配的范围”;“[^]”表示“与这里所指定之外的字匹配成功”;
c,“.”表示任意一个字符;“\s”表示与空白,即空白字符(0×20)、定位符号、换行字符、换页字符匹配成功;“\d”表示“与0-9之间的 数字匹配成功”;“\w”表示“与英文与数字匹配成功”;“\”后面接上“^”、“$”、“[”这些英文、数字以外的转义字符时,这些字符将不再具备转义 字符的小用了,而可以去匹配这些字符本身。
d,“*”表示“出现0次以上”;“+”表示“出现1次以上”;“?”表示“出现0次和1次”;“*?”表示“出现0次以上,但取最短的匹配结 果”;“+?”表示“出现1次以上,但取最短的匹配结果”;“()”表示“多个字构成的字符串反复匹配”;“|”表示“可以在样式里列举多个候补条件,只 要其中一个符合就匹配成功”。
e,quote方法:会返回忽略所有转移字符串后的字符串,再以这个字符串作为new的实参建立出正则表达式对象。
f,“i”:忽略英文字母大小写的差异;“s”:字符编码方式为Shift_JIS;“e”:字符编码方式为E _JP;"u":字符编码方式为 UTF-8,"n":匹配时不考虑文字编码;“x”:忽略正则表达式内部的空白,并忽略“#”后面的内容;“m”:使得“.”能与换行符号匹配成功
附上常用正则表达式:
1,匹配中文字符的正则表达式: [\一-\龥]
2,匹配双字节字符(包括汉字在内):[^\x00-\xff]
3,匹配空白行的正则表达式:\n\s*\r
4,匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1>|<.*? />
5,匹配首尾空白字符的正则表达式:^\s*|\s*$
6,匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
7,匹配网址URL的正则表达式:[a-zA-z]+://[^\s]*
8,匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
9,匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7}
10,匹配中国邮政编码:[1-9]\d{5}(?!\d)
11,匹配身份证:\d{15}|\d{18}
12,匹配ip地址:\d+\.\d+\.\d+\.\d+
13,匹配特定数字:
^[1-9]\d*$ //匹配正整数
^-[1-9]\d*$ //匹配负整数
^-?[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*)$ //匹配负浮点数
^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ //匹配浮点数
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ //匹配非负浮点数(正浮点数 + 0)
^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ //匹配非正浮点数(负浮点数 + 0)
14,匹配特定字符串:
^[A-Za-z]+$ //匹配由26个英文字母组成的字符串
^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串
^[a-z]+$ //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串
^\w+$ //匹配由数字、26个英文字母或者下划线组成的字符串
\d{18}|\d{17}[a-zA-Z]{1}|\d{15} //身份证号码验证(包括新旧的验证)
^(13[0-9]|15[0|3|6|8|9])\d{8}$ //任意手机号码验证
^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$ //email地址
^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$ //url
ns*r //匹配空白行的正则表达式
^s*|s*$ //匹配首尾空白字符的正则表达式
^[a-zA-Z][a-zA-Z0-9_]{4,15}$ //匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线)
d+.d+.d+.d+ //匹配ip地址
[1-9][0-9]{4,} //腾讯QQ号
^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个英文字母或者下划线组成的字符串
只能输入数字:^[0-9]*$
只能输入零和非零开头的数字:^(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]*$
只能输入长度为3的字符:^.{3}$
只能输入由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$
只能输入由数字、26个英文字母或者下划线组成的字符串:^w+$
以字母开头,长度在6-18之间,只能包含字符、数字和下划线:^[a-zA-Z]w{5,17}$
验证是否含有^%&',;=?$等字符:[^%&',;=?$x22]+
只能输入汉字:^[一-龥],{0,}$
验证Email地址:^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$
验证InternetURL:^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$