2
我試圖驗證文本輸入下列要求:的Javascript正則表達式輸入驗證,以防止重複字符
允許的字符&長度
/^\w{8,15}$/
必須包含
/[a-z]+/
必須包含
/[A-Z]+/
必須包含
/[0-9]+/
不得包含重複字符(即,
aba=pass
和aab=fail
)當與
.test()
一起使用時,每個測試將返回true。
儘管熟悉程度不高,但我可以編寫前4個測試,儘管是單獨測試。第五項測試沒有奏效,否定了前瞻(這是我相信我需要使用的)是具有挑戰性的。
這裏有幾個值/結果例子:
re.test("Fail1");//returns false, too short
re.test("StringFailsRule1");//returns false, too long
re.test("Fail!");//returns false, invalid !
re.test("FAILRULE2");//returns false, missing [a-z]+
re.test("failrule3");//returns false, missing [A-Z]+
re.test("failRuleFour");//returns false, missing [0-9]+
re.test("failRule55");//returns false, repeat of "5"
re.test("TestValue1");//returns true
最後,理想的情況是用於強制執行所有要求單個組合測試。
你需要使用正則表達式?只是循環輸入字符串中的字符可能會更容易 –
根據我的經驗,複雜的字符串測試通常最好使用RegEx完成。在這裏,設置2-4的標誌並記住5的前一個字符是促使我遠離單個字符比較的原因。 – nico