React-Natice RegEx验证移动应用程序上的输入

React-Natice RegEx验证移动应用程序上的输入,regex,react-native,Regex,React Native,我有两个职能: 一个用于确保输入仅限于数字和。小数点后两位 一个用于确保与上述相同,但它是小数点后1位,只能是.5,没有其他 问题1:第一个函数正确地删除了它,但也删除了键入的任何第二个“.”,但删除了第二个“.”之前的有效小数 编辑:已解决问题2:如果键入5,则第二个函数允许多个“.”。所以我以为我在替换除5之外的所有内容,但是如果你输入5,我会允许更多的“.”s 问题2的解决办法: let _valueB = _value.replace(/(\..*)[^5]/g, '') 我正在努

我有两个职能:

  • 一个用于确保输入仅限于数字和。小数点后两位
  • 一个用于确保与上述相同,但它是小数点后1位,只能是.5,没有其他
问题1:第一个函数正确地删除了它,但也删除了键入的任何第二个“.”,但删除了第二个“.”之前的有效小数

编辑:已解决问题2:如果键入5,则第二个函数允许多个“.”。所以我以为我在替换除5之外的所有内容,但是如果你输入5,我会允许更多的“.”s

问题2的解决办法:

let _valueB = _value.replace(/(\..*)[^5]/g, '')
我正在努力掌握这个正则表达式的东西,我通常编写python深度学习程序,以前没有做过应用程序,这是我的简单应用程序中唯一的正则表达式,我正在努力找出正确的语法

非常感谢任何建议!提前谢谢

代码:

我在输入字段的OnChange中调用这些函数:

           const [valueOne, setValueOne] = useState('')
           const [valueTwo, setValueTwo] = useState('')
           
             <TextInput
                keyboardType={Platform.OS === 'ios'? "number-pad":"numeric"}
                value={valueOne}
                placeholder="Enter value one.."
                maxLength={13}
                onChangeText={(value) => validateTwoDecimals(value)}

            />
            <TextInput
                keyboardType={Platform.OS === 'ios'? "number-pad":"numeric"}
                value={valueTwo}
                placeholder="Enter value two.."
                maxLength={4}
                onChangeText = {(value)=> validateHalfStep(value)}
            />
const[valueOne,setValueOne]=useState(“”)
const[valueTwo,setValueTwo]=useState(“”)
ValidateModecimals(值)}
/>
validateHalfStep(值)}
/>
           const [valueOne, setValueOne] = useState('')
           const [valueTwo, setValueTwo] = useState('')
           
             <TextInput
                keyboardType={Platform.OS === 'ios'? "number-pad":"numeric"}
                value={valueOne}
                placeholder="Enter value one.."
                maxLength={13}
                onChangeText={(value) => validateTwoDecimals(value)}

            />
            <TextInput
                keyboardType={Platform.OS === 'ios'? "number-pad":"numeric"}
                value={valueTwo}
                placeholder="Enter value two.."
                maxLength={4}
                onChangeText = {(value)=> validateHalfStep(value)}
            />