我目前正在使用輸入驗證器,並且遇到了正則表達式的問題。用於float的正則表達式允許負數和單數。和 -
每次文本更改時,都會測試正則表達式,如果失敗,最後一次更改將被忽略。
我需要標準的數字,int和float。正面和負面以及單一的「。」和單個「 - 」。 空字符串也應該有效。
我創建這個撥弄我的有效和無效的情況: https://jsfiddle.net/rrjfkjvz/1/
var regex = /[-+]?\d*\.?\d*/;
console.log("ok");
console.log(regex.test(""));
console.log(regex.test("."));
console.log(regex.test(".1"));
console.log(regex.test("1.1"));
console.log(regex.test("-"));
console.log(regex.test("-1"));
console.log(regex.test("0"));
console.log(regex.test("1"));
console.log(regex.test("-."));
console.log(regex.test("-.1"));
console.log(regex.test("-1."));
console.log(regex.test("-1.1"));
console.log("fail");
console.log(regex.test(".."));
console.log(regex.test("--"));
console.log(regex.test("-1-"));
console.log(regex.test(".1."));
console.log(regex.test("a"));
console.log(regex.test("_"));
console.log(regex.test("?"));
'/ [ - +]?\ d * \。\ d * /' – Tushar
您可以將正在使用的正則表達式添加到問題內容中嗎? –
@Tushar不匹配'-'。 – Biffen