日期:2014-05-19  浏览次数:20500 次

则表达式的高手进来帮我看一下,求几个正则表达式的写法
1、长度为12位     前两位为字母,后面10位为数字
2、长度为9位       1位字母+8位数字
3、只能输入数字
4、只能输入日期时间型
5、可以输入不超过20个的任意字符
6、可以输入不超过20个的任意字符
7、可以输入不超过10位任意字符

------解决方案--------------------

通过这几天的努力我收集同时也自己写了几个正则表达式,Look:

1.验证用户名和密码:( "^[a-zA-Z]\w{5,15}$ ")正确格式: "[A-Z][a-z]_[0-9] "组成,并且第一个字必须为字母6~16位;
2.验证电话号码:( "^(\d{3.4}-)\d{7,8}$ ")正确格式:xxx/xxxx-xxxxxxx/xxxxxxxx;
3.验证身份证号(15位或18位数字):( "^\d{15}|\d{18}$ ");
4.验证Email地址:( "^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ ");
5.只能输入由数字和26个英文字母组成的字符串:( "^[A-Za-z0-9]+$ ") ;
6.整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$
7.只能输入数字: "^[0-9]*$ "。
8.只能输入n位的数字: "^\d{n}$ "。
9.只能输入至少n位的数字: "^\d{n,}$ "。
10.只能输入m~n位的数字:。 "^\d{m,n}$ "
11.只能输入零和非零开头的数字: "^(0|[1-9][0-9]*)$ "。
12.只能输入有两位小数的正实数: "^[0-9]+(.[0-9]{2})?$ "。
13.只能输入有1~3位小数的正实数: "^[0-9]+(.[0-9]{1,3})?$ "。
14.只能输入非零的正整数: "^\+?[1-9][0-9]*$ "。
15.只能输入非零的负整数: "^\-[1-9][]0-9 "*$。
16.只能输入长度为3的字符: "^.{3}$ "。
17.只能输入由26个英文字母组成的字符串: "^[A-Za-z]+$ "。
18.只能输入由26个大写英文字母组成的字符串: "^[A-Z]+$ "。
19.只能输入由26个小写英文字母组成的字符串: "^[a-z]+$ "。
20.验证是否含有^%& ',;=?$\ "等字符: "[^%& ',;=?$\x22]+ "。
21.只能输入汉字: "^[\u4e00-\u9fa5]{0,}$ "
22.验证URL: "^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ "。
23.验证一年的12个月: "^(0?[1-9]|1[0-2])$ "正确格式为: "01 "~ "09 "和 "1 "~ "12 "。
24.验证一个月的31天: "^((0?[1-9])|((1|2)[0-9])|30|31)$ "正确格式为; "01 "~ "09 "和 "1 "~ "31 "。
从上面我们可以看到: "^ "表示后面紧跟着的字符为开头;与之相对应的式 "$ "以紧跟前面的字符为结尾.但是要注意的式当 "^ "位于 "[] "里时,表示 "非 "的意思,例如:[^AZ]表示不能为 "AZ "中的任一个字符. "[] "表示当中的一个字符. "{} "可以取得一个范围,例如 "{9} "表示9个,而 "{1,9} "表示1到9个字符.
------解决方案--------------------
面是常用的17种正则表达式:

"^\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

提取信息中的网络链接:
(h|H)(r|R)(e|E)(f|F) *= *( '| ")?(\w|\\|\/|\.)+( '| "| *|> )?
提取信息中的邮件地址:
\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
提取信息中的图片链接:
(s|S)(r|R)(c|C) *= *( '| ")?(\w|\\|\/|\.)+( '| "| *|> )?
提取信息中的ip地址:
(\d+)\.(\d+)\.(\d+)\.(\d+)
提取信息中的中国手机号码:
(86)*0*13\d{9}
提取信息中的中国固