正则在咱们对表单进行一些操做的时候,用户仍是很大的,虽然h5已经有一些新标签能够对input进行校验,可是咱们总能遇到一些奇怪的校验方式。网络
下面是我我的总结的一些经常使用正则:编码
邮箱验证:/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/ 手机号验证:^1(3|4|5|7|8)\d{9}$ 身份证验证:/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/(15位的) (19位的) /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/ 网络连接:(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+) 邮政编码:[1-9]{1}(\d+){5}
固然还有一些是咱们须要对表单进行一些校验,这些是确定不够的:总结的还有一下几点:spa
密码强度(数字和字母 最少八位):/^(?!([a-zA-Z]+|\d+)$)[a-zA-Z\d]{8,20}$/ 只容许汉字:/^[\u4e00-\u9fa5]+$/ 只容许数字: /^[0-9]+$/ 只容许汉字和字母: /^[\u4e00-\u9fa5a-zA-Z]+$/ 只容许字母和数字:/^[0-9a-zA-Z]+$/
千位分隔符(整数):num.replace(/\d{1,3}(?=(\d{3})+$)/g,function(s){ return s+','})
分隔符升级版(使用三目表达式):num .toString().indexOf('.') != -1 ?
num.toString().replace(/(\d)(?=(\d{3})+\.)/g, function($0, $1) { return $1 + ","; })
: num.toString().replace(/(\d)(?=(\d{3}))/g, function($0, $1) { return $1 + ","; })
固然正则确定用的不止这些地方,还有不少咱们想不到的地方也能够使用,只是目前来讲,我常使用的就这些,还有一些不经常使用的就不写出来了,若是有须要,请拿走,谢谢!!!code