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}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}$/(15位的) (19位的) /^[1-9]d{5}[1-9]d{3}((0d)|(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-Zd]{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 + ","; })
当然正则肯定用的不止这些地方,还有很多我们想不到的地方也可以使用,只是目前来说,我常使用的就这些,还有一些不常用的就不写出来了,如果有需要,请拿走,谢谢!!!