JS 将当前input 转为大写

方法1:JS 方法

 <input name="test" type="text" οnkeyup="this.value=this.value.toUpperCase()" /> 此种方法不好在于,光标始终在最后一个字段没办法移动

 

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

看看用CSS方法最完美的方法.

<input name="test" type="text" style="text-transform:uppercase;" />

可以使用JavaScript实现将输入的金额换为大写并显示在另一个input表单中。以下是一个示例代码: HTML代码: ```html <label for="amount">请输入金额:</label> <input type="text" id="amount"> <label for="uppercase">大写金额:</label> <input type="text" id="uppercase" disabled> ``` JavaScript代码: ```javascript // 获取输入框和输出框的元素 const amountInput = document.getElementById('amount'); const uppercaseInput = document.getElementById('uppercase'); // 监听输入框的输入事件 amountInput.addEventListener('input', () => { // 获取输入的金额 const amount = amountInput.value.trim(); // 如果输入的不是数字,则清空大写金额输出框 if (!(/^\d+(\.\d{1,2})?$/.test(amount))) { uppercaseInput.value = ''; return; } // 定义数字大写换函数 const convert = (n) => { const fraction = ['角', '分']; const digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']; const unit = [ ['元', '万', '亿'], ['', '拾', '佰', '仟'] ]; let num = Math.abs(n); let result = ''; // 处理小数部分 for (let i = 0; i < fraction.length; i++) { result += (digit[Math.floor(num * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, ''); } // 处理整数部分 num = Math.floor(num); for (let i = 0; i < unit[0].length && num > 0; i++) { let section = ''; for (let j = 0; j < unit[1].length && num > 0; j++) { section = digit[num % 10] + unit[1][j] + section; num = Math.floor(num / 10); } section = section.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i]; result = section + result; } return result.replace(/(^零)|((零)+$)/g, '').replace(/零{2,}/g, '零'); }; // 将输入的金额转为大写 const uppercase = convert(amount); // 将大写金额输出到输出框中 uppercaseInput.value = uppercase; }); ``` 该代码使用了正则表达式判定输入是否为数字,使用了数字大写换的函数进行金额换,最终将大写金额输出到另一个input表单中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值