js实现表单 只支持输入数字和指定符号 并且两边不能输入空格
时间: 2023-02-08 11:15:04 浏览: 254
可以使用 JavaScript 的正则表达式和 input 事件来实现。在 input 事件的回调函数中,使用正则表达式对输入的值进行检测,如果不符合要求,则将不符合要求的部分删除。同时可以使用 trim() 方法去除两边的空格。
示例代码如下:
```js
const input = document.getElementById("input");
input.addEventListener("input", function() {
// 定义允许输入的正则表达式
let reg = /^[0-9*+-]*$/;
// 检测输入是否符合正则表达式
let newValue = this.value.match(reg);
if(newValue) {
this.value = newValue.join("").trim();
}else{
this.value = "";
}
});
```
说明:
- 限制只能输入数字,符号是 *+-
- 可以在正则表达式中添加或删除符号
- 如果输入的不是数字或符号,就会被清空
- 用trim()方法去除两边的空格
相关问题
vanr Form表单正则校验不可以输入空格
你可以使用正则表达式来校验表单输入,以阻止用户输入空格。以下是一个示例代码,使用 JavaScript 来校验表单输入,禁止输入空格:
```javascript
var inputElement = document.getElementById('inputId'); // 替换 'inputId' 为你的输入框的 ID
inputElement.addEventListener('input', function() {
if (/\s/.test(this.value)) {
this.value = this.value.replace(/\s/g, '');
}
});
```
这段代码监听了输入框的输入事件,并使用正则表达式 `/^\S+$/` 来判断是否包含空格。如果输入包含空格,则使用 `replace` 方法将空格替换为空字符串。
请注意,这只是一个简单的示例,你可以根据具体需求进行修改和扩展。
用js实现input表单输入金额自动加上千分位,并且只在前端显示千分符千分符不保存进数据库
好的,您可以使用下面的代码来实现:
```javascript
// 获取输入框元素
const input = document.querySelector('#amount-input');
// 监听输入框的输入变化
input.addEventListener('input', function (event) {
// 获取用户输入的金额
let amount = event.target.value;
// 去除金额中的千分位分隔符
amount = amount.replace(/,/g, '');
// 将金额转换为数字类型
amount = parseFloat(amount);
// 如果输入的不是有效的数字,就退出函数
if (isNaN(amount)) {
return;
}
// 将金额格式化为带千分位分隔符的字符串
amount = amount.toLocaleString('en-US');
// 更新输入框的值
event.target.value = amount;
});
// 在表单提交前,去除金额中的千分位分隔符
const form = document.querySelector('#my-form');
form.addEventListener('submit', function (event) {
const input = document.querySelector('#amount-input');
const amount = input.value.replace(/,/g, '');
input.value = amount;
});
```
在上面的代码中,我们首先监听了输入框的 `input` 事件,实现了输入金额时自动加上千分位分隔符的功能。然后,我们又监听了表单的 `submit` 事件,在表单提交前,去除了金额中的千分位分隔符,保证了千分位分隔符不会保存进数据库。
注意,由于我们只是在前端显示千分位分隔符,而不是将其保存进数据库,因此在后端处理表单数据时,也需要去除金额中的千分位分隔符。
相关推荐
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)