js正则那些事
js常用正则
正则在我们对表单进行一些操作的时候,用户还是很大的,虽然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}
当然还有一些是我们需要对表单进行一些校验,这些是肯定不够的:总结的还有一下几点:
密码强度(数字和字母 最少八位):/^(?!([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 + ","; })
当然正则肯定用的不止这些地方,还有很多我们想不到的地方也可以使用,只是目前来说,我常使用的就这些,还有一些不常用的就不写出来了,如果有需要,请拿走,谢谢!!!