JavaScript函数:限制输入为整数与货币格式

版权申诉
0 下载量 123 浏览量 更新于2024-08-18 收藏 16KB DOCX 举报
"该文档提供了一组JavaScript函数,用于限制用户在文本框中输入的值只能是整数或货币格式。这些函数对于确保用户输入的数据符合特定格式,如数据库字段的要求,具有很高的实用性。" 在JavaScript中,有时我们需要对用户在网页上的输入进行验证,以确保他们输入的是我们期望的数据类型,比如整数或货币。以下是两个JavaScript函数,分别用于限制文本框输入为整数和货币格式: 1. **限制为整数**: 这个函数名为`checkNumber`,它使用正则表达式`/^(-|0|[1-9][0-9]*|100)$/`来验证输入值。这个正则表达式允许输入以下几种情况: - 负数:以`-`开头,但不能超过-100。 - 零:仅包含数字0。 - 正整数:从1到999999999等所有非零正整数,但不能超过100。 函数会获取文本框(id为`txtNumber`)的值,然后用正则表达式进行测试。如果测试通过,会弹出一个警告对话框;否则,不会有任何操作。 ```javascript function checkNumber() { var reg = /^(-|0|[1-9][0-9]*|100)$/; var strNumber = document.getElementById("txtNumber").value; alert(reg.test(strNumber)); } ``` 2. **限制为货币**: `checkMoney`函数用于检查输入的值是否符合货币格式。它首先移除输入值两端的空格,然后使用正则表达式`/^-?\d+(\.\d+)?$/`检查是否为有效的数字,允许有负号、小数点及两位小数。如果输入值符合货币格式,函数会将其格式化为固定两位小数的数值;否则,会显示警告并选中输入框以便用户更正。 ```javascript function checkMoney(obj) { var tempValue = obj.value.replace(/(^\s+)|(\s+$)/g, ''); if (!tempValue) { return; } if (/^-?\d+(\.\d+)?$/.test(tempValue)) { obj.value = parseFloat(tempValue).toFixed(2); } else { alert('请输入合法的货币值!'); obj.select(); return; } } ``` 这个函数可以与`onblur`事件结合使用,当用户离开输入框时触发验证。 此外,文档还提到了其他一些相关的JavaScript代码示例,包括将数字金额以千位分隔符表示,推断输入数据是否为货币并自动添加`¥`符号,将数字金额转换为中文大写,以及对数字金额进行格式化,如加减逗号并保留两位小数等。这些都是在处理金融数据时常见的需求,可以帮助开发者实现更人性化的用户界面和数据验证。