在平常的项目开发者中,我们在写js或者java代码时为了简化代码,以及一些输入字符串进行验证时,我们经常会用到正则表达式。熟悉正则表达式已经成为了软件开发人员必备的一项小技巧了。对于正则表达式的学习非常的简单,只要我们熟悉了一些正常表达式地基本语法,我们就可以很轻松的应对不同的字符串验证。
对于正则表达式的基本语法我们可以参考一下:
【语法大全】http://www.runoob.com/regexp/regexp-syntax.html
【字符大全】http://tool.oschina.net/uploads/apidocs/jquery/regexp.html
接下来我就将我们平常用到比较多的正则表达式列举了下来:
一. 校验数字的表达式
1. 数字: /^[0-9]*$/ 或者 /^\d*$/
2. n位的数字:/^[0-9]{n}$/ 或者 /^\d{n}$/
3. 至少n位的数字:/^[0-9]{n,}$/ 或者 /^\d{n,}$/
4. m-n位的数字: /^[0-9]{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]+(\.\d{2})$/
二. 常见字符的表达式
1. 汉字:/^[\u4e00-\u9fa5]$/
2. 英文和数字: /^[A-Za-z0-9]+$/
3. 长度为3-20的所有字符串:/^[A-Za-z]{3,20}$/
4. 由26个英文字母组成的字符串:/^[A-Za-z]+$/ 或者 /^.{3.20}$/
5. 由数字和26个英文字母组成的字符串:/^[0-9A-Za-z]$/
6. 由数字、26个英文字母或者下划线组成的字符串:/^\w+$/ 或者 /^[0-9A-Za-z_]+$/
7. 中文、英文、数字包括下划线:/^[\u4E00-\u9FA5A-Za-z0-9_]+$/
8. 可以输入含有^%&',;=?$\等字符:/^[%&',;=?$\x22]$/
9. 禁止输入含有~的字符: /^[^~\x22]+$/
三. 项目组常用正则表达式
用户名: /^[a-z0-9_-]{3,16}$/
密码:/^[a-z0-9_-]{6,18}$/
十六进制值:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/
电子邮箱:/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/
/^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/
URL: /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/
IP地址:/^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$/
/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/