簡體   English   中英

使用JavaScript的MVC中的正則表達式

[英]Regular expression in MVC using JavaScript

這是我的正則表達式的格式:

@"^PR[a-zA-Z0-9-]{36}[0-9]{2}([a-zA-Z0-9-]{3}2[a-zA-Z0-9-]{12}){2,10}$"

每個條件都應該有單獨的驗證。 因此,我成功使用JavaScript子字符串滿足了前三個條件。 只是卡住了最后一個條件即

"([a-zA-Z0-9-]{3}2[a-zA-Z0-9-]{12}){2,10}"

在此,我要檢查每個第四個字符必須為“ 2”。

如何通過JavaScript實現此目標?

如果您擁有完整的正則表達式,為什么不將它作為一個整體使用:

var regex = /^PR[a-zA-Z0-9-]{36}[0-9]{2}([a-zA-Z0-9-]{3}2[a-zA-Z0-9-]{12}){2,10}$/;
var str = "PR12345678901234567890123456789012345600AAA2BBBCCCDDDEEEaaa2bbbcccdddeee";
console.log(regex.test(str)); // true

但是,如果您必須真正打破它,可以這樣做:

var regex1 = /^PR[a-zA-Z0-9-]{36}$/;
console.log(regex1.test(str.substring(0,38))); // true

var regex2 = /^[0-9]{2}$/;
console.log(regex2.test(str.substring(38,40))); // true

var regex3 = /^([a-zA-Z0-9-]{3}2[a-zA-Z0-9-]{12}){2,10}$/;
console.log(regex3.test(str.substring(40,str.length))); // true

在這里查看演示小提琴

編輯:

要檢查每個第四個字符是否必須為兩個,請使用:

var regexfourth = /^([a-zA-Z0-9-]{3}2)+$/;
console.log(regexfourth.test("aaa2bbb2ccc2ddd2")); // true
console.log(regexfourth.test("aaa2bbb2ccc3ddd2")); // false(notice a 3 after ccc)

演示在這里擺弄 (檢查底部)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM