JavaScript实现中文逗号转英文逗号的函数
3星 · 超过75%的资源 需积分: 50 172 浏览量
更新于2024-09-18
收藏 1KB TXT 举报
"将表单中的中文逗号转换为英文逗号的方法"
在网页表单设计中,有时需要确保用户输入的数据使用特定的分隔符,例如英文逗号而非中文逗号。这是因为英文逗号在数据处理(如计算、CSV导出等)中具有特定的含义。为了自动将用户在表单中输入的中文逗号转换为英文逗号,我们可以利用JavaScript这种客户端脚本语言来实现。以下是一个简单的JavaScript函数示例,用于实现这一功能:
```javascript
// 将中文逗号转换为英文逗号
function replaceDot(str) {
var Obj = document.getElementById(str);
var oldValue = Obj.value;
while (oldValue.indexOf("") != -1) { // 查找并替换所有中文逗号
Obj.value = oldValue.replace("", ",");
oldValue = Obj.value;
}
}
```
此函数`replaceDot`接收一个参数,即需要处理的表单元素的ID。它首先获取该元素,然后获取其当前值。通过在一个循环中查找并替换所有中文逗号(全角字符),直到没有中文逗号剩余。这个过程确保了用户输入的所有中文逗号都会被转换成英文逗号。
为了使这个函数在用户输入时实时生效,可以将它绑定到表单元素的`onkeyup`事件上。例如,对于一个名为`b`的textarea,你可以这样设置:
```html
<textarea name="b" type="text" id="b" style="overflow-y:auto" onkeyup="replaceDot('b')"></textarea>
```
此外,提供的代码片段中还包含了一个名为`accu`的函数,用于处理数值的累加和格式化。它确保用户输入的数字只包含有效的数字和一个英文小数点,并进行相应的计算。这在处理货币或百分比等需要精确计算的场景中很有用。
```javascript
function accu() {
with(document.form1){
spp.value = spp.value.replace(/[^\d\.]/g, ''); // 清除非数字和小数点
sp = spp.value;
sp = parseFloat(sp);
var n = String(sp * 1.015); // 假设这里有一个1.015的费率
//if(/\./.test(n)) return // 如果n已经包含小数点,这行可以注释掉
n = n.split('.');
if (n.length == 1) return dlp.value = n[0]; // 如果没有小数部分,只返回整数部分
if (n[1].length < 3) return dlp.value = n.join('.'); // 如果小数部分长度小于3,保持原样
n[1] = n[1].replace(/(\d).*/, "$1"); // 只保留小数点后最多两位
n = Math.round(parseInt(n.join(''), 10) / 10) / 100; // 进行四舍五入并格式化为两位小数
dlp.value = n; // 更新显示的值
}
}
```
这个`accu`函数会根据用户在输入框`spp`中的输入,计算并更新另一个输入框`dlp`的值。它处理了数字格式的清理、计算以及限制小数位数的问题。这个例子中,`dlp`的值是`spp`乘以1.015(假设是一个税率或手续费),并且结果始终保留两位小数。
通过结合`replaceDot`和`accu`这两个JavaScript函数,我们可以创建一个具有智能输入验证和转换功能的表单,确保用户输入的中文逗号被正确地转换为英文逗号,并对数字进行有效处理。这种做法提高了表单数据的准确性和一致性,降低了后端处理数据时可能出现的错误。
2020-12-13 上传
2020-09-29 上传
2020-10-26 上传
点击了解资源详情
2023-03-26 上传
2020-09-04 上传
2020-10-30 上传
wdt6208009
- 粉丝: 0
- 资源: 23
最新资源
- dmx512解码程序
- The C++ Programming Language Special 3rd Edition
- ADO.NET高级编程
- 18B20的PDF资料
- TestDirector邮件自动发送配置
- Protel DXP 快捷键大全
- Groovy in action
- weka入门教材.pdf
- 单片机复习题 doc格式
- 基于单片机AT89C2051的光电报警电路
- 深入浅出设计模式(很好的资料)
- Apriori算法的复杂性研究.pdf
- xml programming in java
- OCP中文资料[SQL和tuning]-1
- 基本SQL语法总结并复习
- LoadRunner使用手册.pdf