javascript - 在Javascript中的输入字段编号中查找特定数字
问题描述
我正在开发一个 Binary2Decimal 转换器应用程序,当用户在输入字段中输入 0 和 1 以外的值时,单击转换时它应该提醒用户输入有效的二进制数。
下面是我的代码:
const binary = document.querySelector('.decimalConvertor__binary--bin');
const decimal = document.querySelector('.decimalConvertor__decimal--dec');
const submit = document.querySelector('.decimalConvertor__submit--sub');
submit.addEventListener('click', e => {
const bin = binary.value;
if(bin !== '' && ' ') {
if(bin.length <=8) {
let dec = 0;
for (let i = bin.length-1; i >=0; i--) {
dec += parseInt(bin[i]) * Math.pow(2, bin.length - 1 - i);
}
decimal.value = dec
}else {
alert('enter less than 8 numbers')
}
}else {
alert('Please enter valid binary number')
}
});
解决方案
试试这个,它使用正则表达式来测试字符串是否包含除 1 和 0 以外的数字,如果是,则显示输入有效二进制数的警报:
var re = new RegExp("([23456789])");
submit.addEventListener('click', e => {
const bin = binary.value;
if(bin && !re.test(bin)) {
if(bin.length <=8) {
let dec = 0;
for (let i = bin.length-1; i >=0; i--) {
dec += parseInt(bin[i]) * Math.pow(2, bin.length - 1 - i);
}
decimal.value = dec
}else {
alert('enter less than 8 numbers')
}
}else {
alert('Please enter valid binary number')
}
});
这是一个您可以创建正则表达式的网站,它会向您展示它们的解释:https ://regexr.com/ 。在那里输入正则表达式以获得解释!
推荐阅读
- python - 使用 python csv 写入不同的列
- typescript - Typescript 仅在 Visual Studio 中编译打开的文件
- python - 如何对多级索引数据帧的所有行执行复杂的 df 操作?
- flutter - Flutter BLoC:在父 Widget 更新时维护子状态
- powershell - 替换字符串中的管道字符
- react-native - 动作未调度本机反应,状态正常
- javascript - 没有'let','var','const'的变量的声明
- laravel - Laravel Eloquent 查询带参数
- django - 如何使用 django rest 框架为不同的用户类型创建自定义用户模型
- amazon-web-services - 带有 ubuntu 容器的 ECS