以下是关于“表单验证常用正则”的完整攻略。
什么是表单验证正则?
在开发Web应用时,表单验证是必不可少的,它可以防止用户输入非法数据,保证数据的正确性和完整性。而表单验证正则则是一种验证输入数据是否符合预期格式的基本手段。
常用表单验证正则
常用的表单验证正则可以归纳为以下几种类型:
1. 验证数字
- 验证整数:
/^-?\d+$/
- 验证正整数:
/^\d+$/
- 验证负整数:
/^-?\d+$/
- 验证浮点数:
/^-?\d+(\.\d+)?$/
- 验证正浮点数:
/^\d+(\.\d+)?$/
- 验证负浮点数:
/^-?\d+(\.\d+)?$/
2. 验证字符
- 验证中文字符:
/^[\u4e00-\u9fa5]+$/
- 验证英文字母:
/^[a-zA-Z]+$/
- 验证数字和英文字母:
/^[0-9a-zA-Z]+$/
3. 验证日期时间
- 验证日期格式:
/^\d{4}-\d{1,2}-\d{1,2}$/
- 验证时间格式:
/^([01][0-9]|2[0-3]):[0-5][0-9]$/
- 验证日期时间格式:
/^\d{4}-\d{1,2}-\d{1,2}\s([01][0-9]|2[0-3]):[0-5][0-9]$/
4. 验证其他
- 验证邮箱地址:
/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/
- 验证手机号码:
/^1[3456789]\d{9}$/
- 验证身份证号码:
/^\d{15}|\d{18}$/
示例
以下是两个示例,展示如何使用表单验证正则。
示例一
验证一个英文名字,只允许输入大小写字母和空格,长度不超过20个字符。
<!DOCTYPE html>
<html>
<head>
<title>示例</title>
</head>
<body>
<form>
<input type="text" name="name" id="name" maxlength="20">
<span id="nameError" style="color: red;"></span>
<input type="submit" name="submit">
</form>
<script>
var reg = /^[a-zA-Z ]{1,20}$/;
var nameInput = document.getElementById('name');
var nameError = document.getElementById('nameError');
nameInput.onblur = function() {
if (reg.test(this.value)) {
nameError.innerHTML = '';
} else {
nameError.innerHTML = '请输入正确的英文名字';
}
};
</script>
</body>
</html>
在该示例中,使用/^[a-zA-Z ]{1,20}$/
正则表达式来验证英文名字,其中^[a-zA-Z ]{1,20}$
表示只允许输入大小写字母和空格,长度不超过20个字符。
示例二
验证一个密码,要求包含大小写字母、数字和特殊字符,长度在8到16位之间。
<!DOCTYPE html>
<html>
<head>
<title>示例</title>
</head>
<body>
<form>
<input type="password" name="password" id="password" maxlength="16">
<span id="passwordError" style="color: red;"></span>
<input type="submit" name="submit">
</form>
<script>
var reg = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[a-zA-Z]).{8,16}$/;
var passwordInput = document.getElementById('password');
var passwordError = document.getElementById('passwordError');
passwordInput.onblur = function() {
if (reg.test(this.value)) {
passwordError.innerHTML = '';
} else {
passwordError.innerHTML = '密码必须由大小写字母、数字和特殊字符组成,长度在8到16位之间';
}
};
</script>
</body>
</html>
在该示例中,使用/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[a-zA-Z]).{8,16}$/
正则表达式来验证密码,其中/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[a-zA-Z]).{8,16}$/
表示密码必须由大小写字母、数字和特殊字符组成,长度在8到16位之间。
好了,以上就是关于“表单验证常用正则”的完整攻略。希望这些示例能对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:表单验证常用正则(强烈推荐大家收藏下) - Python技术站