jQuery实现验证表单密码一致性及正则表达式验证邮箱、手机号的方法攻略
网站上使用表单进行用户数据的收集和提交是很常见的用法,但收集来的数据往往需要验证其正确性和一致性,以保证接下来的处理能够有效进行。在此,我会详细讲解如何使用jQuery来实现表单密码一致性验证和正则表达式验证邮箱和手机号码的方法。
验证表单密码一致性
创建一个简单的表单
首先,我们需要在页面上创建一个简单的表单,用来收集用户的账号和密码数据:
<form>
<label for="username">账号:</label>
<input type="text" id="username" name="username">
<br>
<label for="password1">密码:</label>
<input type="password" id="password1" name="password1">
<br>
<label for="password2">密码确认:</label>
<input type="password" id="password2" name="password2">
<br>
<input type="submit" value="提交">
</form>
使用jQuery实现密码验证
为了实现密码一致性验证,我们使用jQuery监听表单的提交事件,并在提交之前验证密码是否一致:
$('form').on('submit', function(event) {
event.preventDefault(); // 阻止表单提交
var password1 = $('#password1').val();
var password2 = $('#password2').val();
if (password1 !== password2) {
alert('密码不一致,请重新输入!');
} else {
// 如果密码一致,则可以提交表单
$(this).submit();
}
});
这通过jquery的on方法监听了表单的submit事件,在事件回调函数中使用preventDefault方法阻止表单提交。接着,获取输入的密码,并比较它们是否一致。如果密码不一致,则弹出提示框提醒用户重新输入;如果密码一致,则允许表单提交。
使用正则表达式验证邮箱和手机号
现在,我们已经学会了如何验证表单密码一致性。下面,我们来看看如何使用正则表达式验证邮箱和手机号。
验证邮箱
邮箱的有效性验证一般采用正则表达式的方式,下面是一个简单的邮箱正则表达式:
var emailReg = /^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/;
使用jQuery我们可以监听表单提交事件并验证邮箱是否符合正则表达式的格式:
$('form').on('submit', function(event) {
event.preventDefault(); // 阻止表单提交
var email = $('#email').val();
var emailReg = /^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/;
if (!emailReg.test(email)) {
alert('请输入正确的邮箱格式!');
} else {
// 如果邮箱格式正确,则可以提交表单
$(this).submit();
}
});
这段代码和验证密码一致性的代码类似。使用正则表达式验证用户输入的邮箱是否符合规定的格式。如果不符合,则弹出提示框。如果符合格式则允许表单提交。
验证手机号码
手机号码也是通过正则表达式的方式进行验证。下面是一个简单的手机号码正则表达式:
var mobileReg = /^1[3-9]\d{9}$/;
同样,我们可以使用jQuery监听表单提交事件并验证输入的手机号码是否符合正则表达式的规则:
$('form').on('submit', function(event) {
event.preventDefault(); // 阻止表单提交
var mobile = $('#mobile').val();
var mobileReg = /^1[3-9]\d{9}$/;
if (!mobileReg.test(mobile)) {
alert('请输入正确的手机号码!');
} else {
// 如果手机号码格式正确,则可以提交表单
$(this).submit();
}
});
这段代码同样和验证密码一致性的代码类似。使用正则表达式验证用户输入的手机号码是否符合规定的格式。如果不符合,则弹出提示框。如果符合格式则允许表单提交。
示例说明
以下是一个实现表单密码一致性和正则表达式验证的完整示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>表单验证示例</title>
<script src="https://cdn.bootcss.com/jquery/3.5.1/jquery.min.js"></script>
<script>
$(function() {
$('form').on('submit', function(event) {
event.preventDefault(); // 阻止表单提交
var username = $('#username').val();
var password1 = $('#password1').val();
var password2 = $('#password2').val();
var email = $('#email').val();
var mobile = $('#mobile').val();
var passwordReg = /^[a-zA-Z]\w{5,17}$/;
var emailReg = /^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/;
var mobileReg = /^1[3-9]\d{9}$/;
if (!username) {
alert('请输入账号!');
} else if (!passwordReg.test(password1)) {
alert('请输入6到18位以字母开头的密码!');
} else if (password1 !== password2) {
alert('密码不一致,请重新输入!');
} else if (!emailReg.test(email)) {
alert('请输入正确的邮箱格式!');
} else if (!mobileReg.test(mobile)) {
alert('请输入正确的手机号码!');
} else {
// 如果所有数据都正确,则可以提交表单
$(this).submit();
}
});
});
</script>
</head>
<body>
<form>
<div>
<label for="username">账号:</label>
<input type="text" id="username" name="username">
</div>
<div>
<label for="password1">密码:</label>
<input type="password" id="password1" name="password1">
</div>
<div>
<label for="password2">密码确认:</label>
<input type="password" id="password2" name="password2">
</div>
<div>
<label for="email">邮箱:</label>
<input type="text" id="email" name="email">
</div>
<div>
<label for="mobile">手机号码:</label>
<input type="text" id="mobile" name="mobile">
</div>
<div>
<input type="submit" value="提交">
</div>
</form>
</body>
</html>
该示例中,我们使用了jQuery的选择器和事件绑定机制,通过阻止表单的默认提交事件,在提交之前验证输入的数据是否合法,以保证数据的一致性和准确性,确保数据的有效使用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:jQuery实现验证表单密码一致性及正则表达式验证邮箱、手机号的方法 - Python技术站