/** * 2010-7-13 * 贺 臣 * 情 缘 * js各种表单数据验证 */ /**************************************************************************************/ /*************************************数字的验证*****************************************/ /**************************************************************************************/ /** * 检查输入的一串字符是否全部是数字 * 输入:str 字符串 * 返回:true 或 flase; true表示为数字 */ function checkNum(str){ return str.match(/\D/) == null; } /** * 检查输入的一串字符是否为小数 * 输入:str 字符串 * 返回:true 或 flase; true表示为小数 */ function checkDecimal(str){ if (str.match(/^-"%u") != -1) { return true; } else { return false; } } /** * 检查输入的邮箱格式是否正确 * 输入:str 字符串 * 返回:true 或 flase; true表示格式正确 */ function checkEmail(str){ if (str.match(/[A-Za-z0-9_-]+[@](\S*)(net|com|cn|org|cc|tv|[0-9]{1,3})(\S*)/g) == null) { return false; } else { return true; } } /** * 检查输入的手机号码格式是否正确 * 输入:str 字符串 * 返回:true 或 flase; true表示格式正确 */ function checkMobilePhone(str){ if (str.match(/^("~", "`", "!", "@", "#", "$", "%", "^", "&", "*", "{", "}", "[", "]", "(", ")"); items.push(":", ";", "'", "|", "\\", "<", ">", "", "/", "<<", "", "||", "//"); items.push("admin", "administrators", "administrator", "管理员", "系统管理员"); items.push("select", "delete", "update", "insert", "create", "drop", "alter", "trancate"); str = str.toLowerCase(); for (var i = 0; i < items.length; i++) { if (str.indexOf(items[i]) >= 0) { return true; } } return false; } /**************************************************************************************/ /*************************************时间的验证*****************************************/ /**************************************************************************************/ /** * 检查日期格式是否正确 * 输入:str 字符串 * 返回:true 或 flase; true表示格式正确 * 注意:此处不能验证中文日期格式 * 验证短日期(2007-06-05) */ function checkDate(str){ //var value=str.match(/((^((1[8-9]\d{2})|([2-9]\d{3}))(-)(10|12|0"")); if (idCard.length == 15) { return isValidityBrithBy15IdCard(idCard); } else if (idCard.length == 18) { var a_idCard = idCard.split("");// 得到身份证数组 if (isValidityBrithBy18IdCard(idCard) && isTrueValidateCodeBy18IdCard(a_idCard)) { return true; } else { return false; } } else { return false; } } /** * 判断身份证号码为18位时最后的验证位是否正确 * @param a_idCard 身份证号码数组 * @return */ function isTrueValidateCodeBy18IdCard(a_idCard){ var sum = 0; // 声明加权求和变量 if (a_idCard[17].toLowerCase() == 'x') { a_idCard[17] = 10;// 将最后位为x的验证码替换为10方便后续操作 } for (var i = 0; i < 17; i++) { sum += Wi[i] * a_idCard[i];// 加权求和 } valCodePosition = sum % 11;// 得到验证码所位置 if (a_idCard[17] == ValideCode[valCodePosition]) { return true; } else { return false; } } /** * 通过身份证判断是男是女 * @param idCard 15/18位身份证号码 * @return 'female'-女、'male'-男 */ function maleOrFemalByIdCard(idCard){ idCard = trim(idCard.replace(/ /g, ""));// 对身份证号码做处理。包括字符间有空格。 if (idCard.length == 15) { if (idCard.substring(14, 15) % 2 == 0) { return 'female'; } else { return 'male'; } } else if (idCard.length == 18) { if (idCard.substring(14, 17) % 2 == 0) { return 'female'; } else { return 'male'; } } else { return null; } } /** * 验证18位数身份证号码中的生日是否是有效生日 * @param idCard 18位书身份证字符串 * @return */ function isValidityBrithBy18IdCard(idCard18){ var year = idCard18.substring(6, 10); var month = idCard18.substring(10, 12); var day = idCard18.substring(12, 14); var temp_date = new Date(year, parseFloat(month) - 1, parseFloat(day)); // 这里用getFullYear()获取年份,避免千年虫问题 if (temp_date.getFullYear() != parseFloat(year) || temp_date.getMonth() != parseFloat(month) - 1 || temp_date.getDate() != parseFloat(day)) { return false; } else { return true; } } /** * 验证15位数身份证号码中的生日是否是有效生日 * @param idCard15 15位书身份证字符串 * @return */ function isValidityBrithBy15IdCard(idCard15){ var year = idCard15.substring(6, 8); var month = idCard15.substring(8, 10); var day = idCard15.substring(10, 12); var temp_date = new Date(year, parseFloat(month) - 1, parseFloat(day)); // 对于老身份证中的你年龄则不需考虑千年虫问题而使用getYear()方法 if (temp_date.getYear() != parseFloat(year) || temp_date.getMonth() != parseFloat(month) - 1 || temp_date.getDate() != parseFloat(day)) { return false; } else { return true; } } //去掉字符串头尾空格 function trim(str){ return str.replace(/(^\s*)|(\s*$)/g, ""); }
以上就是本文的全部内容,了解更多JavaScript的语法,大家可以查看:《JavaScript 参考教程》、《JavaScript代码风格指南》,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“javascript 常用验证函数总结”评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新动态
2024年11月16日
2024年11月16日
- 中国武警男声合唱团《辉煌之声1天路》[DTS-WAV分轨]
- 紫薇《旧曲新韵》[320K/MP3][175.29MB]
- 紫薇《旧曲新韵》[FLAC/分轨][550.18MB]
- 周深《反深代词》[先听版][320K/MP3][72.71MB]
- 李佳薇.2024-会发光的【黑籁音乐】【FLAC分轨】
- 后弦.2012-很有爱【天浩盛世】【WAV+CUE】
- 林俊吉.2012-将你惜命命【美华】【WAV+CUE】
- 晓雅《分享》DTS-WAV
- 黑鸭子2008-飞歌[首版][WAV+CUE]
- 黄乙玲1989-水泼落地难收回[日本天龙版][WAV+CUE]
- 周深《反深代词》[先听版][FLAC/分轨][310.97MB]
- 姜育恒1984《什么时候·串起又散落》台湾复刻版[WAV+CUE][1G]
- 那英《如今》引进版[WAV+CUE][1G]
- 蔡幸娟.1991-真的让我爱你吗【飞碟】【WAV+CUE】
- 群星.2024-好团圆电视剧原声带【TME】【FLAC分轨】