接受javascript中的数字十进制输入
到目前为止,我有用于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——
^[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}$