Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
接受javascript中的数字十进制输入_Javascript_Regex - Fatal编程技术网

接受javascript中的数字十进制输入

接受javascript中的数字十进制输入,javascript,regex,Javascript,Regex,到目前为止,我有用于JavaScript的正则表达式,它只执行以下操作: ^[1-9][0-9]{1,2}(\.[0-9][0-9]$)?$/i 1) 只接受3位数字 2) 只接受2位小数 3) 仅接受以数字开头的表格1-9开始 但我想扩展正则表达式,以同时拒绝以下输入: 1) 开头没有点---.12 2) 末尾没有点--1212.12 3) 不超过一个点--12.12.12.12 4) 不允许在任何输入---+12-12.21中使用(“+”、“-”)键 总结如下结果: 1) 123.12——

到目前为止,我有用于JavaScript的正则表达式,它只执行以下操作:

^[1-9][0-9]{1,2}(\.[0-9][0-9]$)?$/i
1) 只接受3位数字

2) 只接受2位小数

3) 仅接受以数字开头的表格1-9开始

但我想扩展正则表达式,以同时拒绝以下输入:

1) 开头没有点---.12

2) 末尾没有点--1212.12

3) 不超过一个点--12.12.12.12

4) 不允许在任何输入---+12-12.21中使用(“+”、“-”)键

总结如下结果:

1) 123.12——接受

2) 123.12.12——拒收(超过一个点)

3) 123.12..12拒绝(多个点&以点结尾)

4) +123.12-12——拒收(以“+”开头,由“-”号组成)

更新

我使用的是JavaScript框架,只需要将对象作为代码库进行编码,以便为我动态创建输入组件,我已经忘记了输入类型,因为它是'number',而不是'text'

      {
        type: 'input',
        label: 'Fabric Weight',
        placeholder: 'Fabric Weight (Value : 000.00)',
        name: 'FABRIC_WEIGHT',
        inputType: 'text', **<--- was 'number'**
        isShown: true,
        validations: [
          {
            name: 'pattern',
            validator: Validators.pattern(threeDigitTwoDecimalRegex),
            message:
              'Please enter number less than 1000 with / without two decimal!'
          }
        ]
      },
{
键入:“输入”,
标签:“织物重量”,
占位符:“织物重量(值:000.00)”,
名称:“织物重量”,
inputType:'text',***试试这个(允许负数):

和(仅为正数)

|==========编辑1==========|

 /^([-\+]?[1-9]\d{2}(?:\.\d{1,2})?)$/i
1) 只接受3位数字

2) 只接受2位小数

3) 仅接受以数字开头的表格1-9开始

演示:

这正在工作:

^\d{1,3}$|^\d{1,3}.\d{1,2}$
请参见此处的示例-->

尝试以下操作:
------------------------
1=false

12=false

123=正确
1234=false

123.1=false

123.12=正确
123.123=false

var inp=document.getElementById('numberDecimal');
inp.addEventListener('keyup',function(){
var regex=/^([1-9]\d{2}(?:\.\d{2})$/igm;
console.log(regex.test(this.value));//检查true/false
});

您的正则表达式已满足额外条件。请尝试此选项
 /^([-\+]?[1-9]\d{2}(?:\.\d{1,2})?)$/i
^\d{1,3}$|^\d{1,3}.\d{1,2}$