密码验证:
function checkForm() {
$(\'#menuForm\').bootstrapValidator({
//live: \'disabled\',
//通用提示信息
message: \'必填项\',
trigger: \'blur\',
//勾叉图标
feedbackIcons: {
valid: \'glyphicon glyphicon-ok\',
invalid: \'glyphicon glyphicon-remove\',
validating: \'glyphicon glyphicon-refresh\'
},
//验证字段
fields: {
oldPassword: {
validators: {
notEmpty: {
message: \'请填写原密码\'
},remote :{
message: \'原密码不正确\',
threshold :4,
url: \'/checkPassword.do\',
type :\'post\',
data:{yuanmima:function (){//请求传递参数
return $(\"#oldPassword\").val();
}},
delay :2000
}
}
},
newPassword: {
validators: {
notEmpty: {
message: \'请填写新密码\'
},identical: {
field: \'confirmPassword\',
message: \'两次输入的密码不相符\'
}
}
},
confirmPassword: {
validators: {
notEmpty: {
message: \'请填写确认密码\'
},identical: {
field: \'newPassword\',
message: \'两次输入的密码不相符\'
}
}
}
}
});
// Validate the form manually
//给提交按钮绑定单击事件zhsihahfifhao
$(\'#updatePasswordBtn\').click(function () {
//获取验证表单对象,验证
var result = $(\'#menuForm\').data(\'bootstrapValidator\').validate().isValid();
if (result) {//验证通过
//ajax提交
}
});
---------------------------------后台返回---------------------------------------------------------------------
@ResponseBody
@RequestMapping(value = \"/checkPassword.do\", method = RequestMethod.POST)
public Map checkPassword(String yuanmima, HttpSession session) {
Map<String, Boolean> map = new HashMap<String, Boolean>();
SysPolice police = (SysPolice) session.getAttribute(ResourceKeys.ADMIN_LOGIN_KEY);
String password1 = MD5Utils.md5(yuanmima);
if (!password1.equals(police.getPassword())) {
map.put(\"valid\", false);
} else {
map.put(\"valid\", true);
}
return map;
}
---------------------------------后台返回---------------------------------------------------------------------
验证只能是数字小数
classHour: {
validators: {
notEmpty: {
message: \'必填项!\'
},regexp: {
regexp: /^[0-9]+([.]{1}[0-9]+){0,1}$/,
message: \'学时只能由数字,小数组成\'
}
}
}
身份证号码
idCard: {
validators: {
notEmpty: {},
regexp: {
regexp: /^(^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$)|(^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])((\\d{4})|\\d{3}[Xx])$)$/,
message: \'身份证号码格式不正确,为15位和18位身份证号码!\'
},
callback: {
/*自定义,可以在这里与其他输入项联动校验*/
message: \'身份证号码无效!\',
callback: function (value, validator, $field) {
//15位和18位身份证号码的正则表达式
var regIdCard = /^(^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$)|(^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])((\\d{4})|\\d{3}[Xx])$)$/;
//如果通过该验证,说明身份证格式正确,但准确性还需计算
var idCard = value;
if (regIdCard.test(idCard)) {
if (idCard.length == 18) {
var idCardWi = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); //将前17位加权因子保存在数组里
var idCardY = new Array(1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2); //这是除以11后,可能产生的11位余数、验证码,也保存成数组
var idCardWiSum = 0; //用来保存前17位各自乖以加权因子后的总和
for (var i = 0; i < 17; i++) {
idCardWiSum += idCard.substring(i, i + 1) * idCardWi[i];
}
var idCardMod = idCardWiSum % 11;//计算出校验码所在数组的位置
var idCardLast = idCard.substring(17);//得到最后一位身份证号码
//如果等于2,则说明校验码是10,身份证号码最后一位应该是X
if (idCardMod == 2) {
if (idCardLast == \"X\" || idCardLast == \"x\") {
return true;
//alert(\"恭喜通过验证啦!\");
} else {
return false;
//alert(\"身份证号码错误!\");
}
} else {
//用计算出的验证码与最后一位身份证号码匹配,如果一致,说明通过,否则是无效的身份证号码
if (idCardLast == idCardY[idCardMod]) {
//alert(\"恭喜通过验证啦!\");
return true;
} else {
return false;
//alert(\"身份证号码错误!\");
}
}
}
} else {
//alert(\"身份证格式不正确!\");
return false;
}
}
}
}
}
日期
birthday: {
validators: {
notEmpty: {
message: \'请填写出生日期!\'
},
date: {
format: \'YYYY/MM/DD\',
message: \'出生日期格式错误\'
}
}
}
长度
stringLength: {
min: 10,
max: 12,
message: \'注意长度!\'
}
继续阅读与本文标签相同的文章
上一篇 :
前端vue面试题汇总及答案
下一篇 :
美团 App 新功能帮助视障人士通过语音点外卖
-
Yotta主网上线在即,带你玩转YTA挖矿攻略!
2026-05-18栏目: 教程
-
将制造业作为发展数字经济的主战场!
2026-05-18栏目: 教程
-
如何成为一名优秀的初级开发者?
2026-05-18栏目: 教程
-
展望2025多媒体技术与应用趋势
2026-05-18栏目: 教程
-
“拼下限”的网络直播
2026-05-18栏目: 教程
