首页 > 解决方案 > 使 HTML 输入的第一个字符不可编辑 - javascript

问题描述

我有一个输入字段

<input type="text" value="$">

$无论输入中输入的数字或字符如何,我都需要在输入的第一个位置固定符号

目前我在函数$外部附加符号onChange

value = '$' + value

基本上,用户不应该能够清除$符号。它应该被修复。如何做到这一点?

我正在使用 javascript 和 React。

标签: javascriptreactjsappend

解决方案


在输入更改时,您可以首先从值中删除所有出现的$。然后在值前面加上$.

尝试以下操作:

function inputValue(el){
  el.value = el.value.replace(/[$+]/g, ''); //replace all $ with empty string
  el.value = '$' + el.value; //prepend $ to the input value
}
<input type="text" value="$" oninput="inputValue(this)">

如果您只想允许数字和点(.),只需使用:

el.value = el.value.replace(/[^0-9.]/g, '');

推荐阅读