<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
1<input type="text"><br>
2<input type="text"><br>
3<input type="text" maxlength="18"><br>
4<input type="text"><br>
5<input type="text"><br>
6<input type="text" minlength="15" maxlength="18"><br>
7<input type="text"><br>
8<input type="text"><br>
9<input type="text" maxlength="18"><br>
<input type="text"><br>
<button>提交</button>
</body>
<script>
var input=document.querySelectorAll('input')
var button=document.querySelector('button')
button.onclick=function(){
// 匹配由数字和26个英文字母组成的字符串
var val0 = input[0].value
var reg0 = /^[a-zA-Z0-9]+$/gi
console.log(reg0.test(val0));
// 匹配由数字、26个英文字母或者下划线组成的字符串
var val1 = input[1].value
var reg1 = /^[a-zA-Z0-9_]+$/gi
console.log(reg1.test(val1));
// 匹配验证用户密码。 正确格式为:以字母开头,长度在6 - 18之间,只能包含字母、数字和下划线。
var val2 = input[2].value
var reg2 = /^[a-zA-Z][a-zA-Z0-9_]{5,}/
console.log(reg2.test(val2));
// 匹配整数
var val3 = input[3].value
var reg3 = /^-?\d+$/ //匹配一个可选的负号。
console.log(reg3.test(val3));
// 匹配非负整数
var val4 = input[4].value
var reg4 = /\d+$/
console.log(reg4.test(val4));
// 匹配中国身份证号码身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X
var val5 = input[5].value
var reg5
if(input[5].value.length=15){
reg5=/\d{15}/
}else if(input[5].value.length=18){
reg5=/\d{17}[\d[xX]]$/
}else{
alert('身份证格式不正确')
}
console.log(reg5.test(val5));
// 匹配邮箱
var val6 = input[6].value
var reg6 = /^[a-zA-Z1-9][a-zA-Z0-9_\-.]*@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/
console.log(reg6.test(val6));
// 匹配日期格式YYYY-MM-DD hh:mm:ss
var val7 = input[7].value
var reg7 = /^[1-9][0-9]{3}-(0[1-9]|1[0-9])-(0[1-9]|[1-2]\d|3[0-1]) (0[1-9]|1[0-9]|2[0-4]):[0-5]\d:[0-5]\d/
console.log(reg7.test(val7));
// 匹配腾讯QQ号
var val8 = input[8].value
var reg8 = /^[1-9]\d{0,8}$/
console.log(reg3.test(val8));
// 匹配正浮点数
var val9 = input[9].value
var reg9 = /^([1-9]\d*|0)(\.\d+)?$/
console.log(reg3.test(val9));
}
</script>
</html>