文章收藏了在开发应用中经常会用到的正则表达式如有帐号由a~z的英文字母(不区分大小写)、0~9的数字、点、减号或下划线组成 、必须为数字、电子邮件格式、匹配24小时制时间等。
1.帐号由a~z的英文字母(不区分大小写)、0~9的数字、点、减号或下划线组成,长度为3~18个字符,例如:kyzy_001
^[a-za-z0-9.-_]{3,18}$
2.输入框里必须为数字
^[0-9]{1,}$
3.电子邮件格式
w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
4.要求文本框只能输入最多两位小数的数字
^[0-9]+.[0-9]{0,2}$
匹配24小时制时间
(?[0-2]{1}d{1}):(? [1-6]{1}d{1})
匹配标准年月晶格式
^((((((0[48])|([13579][26])|([2468][048]))00)|([0-9][0-9]((0[48])|([13579][26])|([2468][048]))))-02-29)|(((000[1-9])|(00[1-9][0-9])|(0[1-9][0-9][0-9])|([1-9][0-9][0-9][0-9]))-((((0[13578])|(1[02]))-31)|(((0[1,3-9])|(1[0-2]))-(29|30))|(((0[1-9])|(1[0-2]))-((0[1-9])|(1[0-9])|(2[0-8]))))))$
=================================================================================
^d{5}$
5 个数值数字,如美国邮政编码。
^(d{5})|(d{5}-d{4}$
5 个数值数字或 5 个数字-短划线-4 个数字。匹配 5 位数字格式的美国邮政编码,或 5 位数字 + 4 位数字格式的美国邮政编码。
^(d{5}(-d{4})?$
与前一个相同,但更有效。使用 ? 可使模式中的 4 位数字成为可选部分,而不是要求分别比较不同的两个模式(通过另一种方式)。
^[+-]?d+(.d+)?$
匹配任意有可选符号的实数。
^[+-]?d*.?d*$
与上一个相同,但也匹配空字符串。
^(20|21|22|23|[01]d):[0-5]d$
匹配 24 小时制时间值。
/*.**/
匹配 c 语言风格的注释 /* ... */
日期时间判断正则表达式
这里是判断yyyy-mm-dd这种格式的,基本上把闰年和2月等的情况都考虑进去了。
^((((1[6-9]|[2-9]d)d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]d|3[01]))|(((1[6-9]|[2-9]d)d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]d|30))|(((1[6-9]|[2-9]d)d{2})-0?2-(0?[1-9]|1d|2[0-8]))|(((1[6-9]|[2-9]d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$
下面的是加了时间验证的
^((((1[6-9]|[2-9]d)d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]d|3[01]))|(((1[6-9]|[2-9]d)d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]d|30))|(((1[6-9]|[2-9]d)d{2})-0?2-(0?[1-9]|1d|2[0-8]))|(((1[6-9]|[2-9]d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-)) (20|21|22|23|[0-1]?d):[0-5]?d:[0-5]?d$