JSP输入格式限制:数字、手机号与身份证验证

需积分: 49 7 下载量 124 浏览量 更新于2024-09-09 收藏 11KB TXT 举报
本文主要讨论了在JSP前端开发中如何实现特定格式的输入限制,包括数字、手机号码、身份证号码以及合计值的校验。以下将详细解析这些知识点: 1. **数字输入限制**: 在给出的代码片段中,`parseInt()`函数被用来确保用户输入的是整数,然后乘以100进行计算。例如,`$("#one").val()*100` 和 `#{"two", "three"}.val()*100` 分别获取每个输入框的值并转换为整数。`sum` 的值则是这三个整数值的总和除以100,然后用 `.toFixed(2)` 方法保留两位小数。`blur` 事件监听器确保每次用户离开输入框时,`sum` 输入框会被自动更新。 2. **手机号码验证**: `check` 函数通过正则表达式 `/^(((13[0-9]{1})|(15[0-3,5-9]{1})|(18[0,5-9]{1}))+\d{8})$/` 来验证输入的是否符合中国大陆手机号码格式,即13、15或18开头的11位数字。如果不符合格式,会弹出提示。 3. **身份证号码验证**: `check2` 函数采用更复杂的正则表达式来验证输入是否为有效的中国身份证号码,包括年份(19或20世纪)、月份和日期的正确格式,以及出生日期的闰年规则。这个验证对于确保用户输入的身份证号码合法性至关重要。 4. **长度限制**: 使用 `maxlength` 属性可以限制输入框中的字符数量,如 `maxlength="11"` 表示最多允许输入11个字符。这有助于防止用户输入过多字符,保持数据的一致性。 5. **数字和点号输入过滤**: `onkeyup` 事件的 `value=value.replace(/[^\-?\d.]/g,'')` 用于清除输入框中的非数字和点号字符,只保留数字和点号。这对于数字格式的输入是非常有用的,确保数据格式的准确性。 6. **通用输入清理**: 另一个 `onkeyup` 事件的正则表达式 `value=value.replace(/[^\d.]/g,'')` 相似地处理,但这里只允许数字和点号,适用于那些只需要数字或小数点的场景。 7. **特殊字符检测**: 最后一个 `onkeyup` 事件的正则表达式 `if((/[^\d.]/g).test(this)` 检测输入框内容中是否存在任何非数字和点号字符。这可能用于实时反馈,如果输入了无效字符,可以立即进行处理。 本文提供的代码片段展示了在JSP前端如何通过HTML、JavaScript和JSP结合来实现对数字、手机号码和身份证号码格式的严谨输入验证,以及对字符长度、小数点和非数字字符的过滤,以提升用户体验和数据准确性。