我需要驗證,如果字符串呈現像連續字符說像abc,def,ghi或123,234,345,456等等使用JavaScript,想要通過錯誤或警報消息。匹配模式或表達式是否有任何可能性來驗證這種情況。如果有任何問題,請儘快告訴我。正則表達式驗證JavaScript中的連續字符或數字嗎?
在此先感謝!
我需要驗證,如果字符串呈現像連續字符說像abc,def,ghi或123,234,345,456等等使用JavaScript,想要通過錯誤或警報消息。匹配模式或表達式是否有任何可能性來驗證這種情況。如果有任何問題,請儘快告訴我。正則表達式驗證JavaScript中的連續字符或數字嗎?
在此先感謝!
正則表達式不是這種方法。如果每個字符都大於上一個使用的字符,則循環遍歷字符串檢查中的所有字符str.charCodeAt()
。
正則表達式不應該用於此。他們沒有「有記憶」,這意味着你不能動態地尋找這樣的序列。相反,您必須手動構建每個可能的可接受序列。
更好的方法是使用一個for循環,通過您的字符串來運行,並進行必要的斷言,像這樣:
for (var i = 0; i < str.length; ++i) {
if (str.charCodeAt(i) === str.charCodeAt(i + 1) - 1 &&
str.charCodeAt(i) === str.charCodeAt(i + 2) - 2) {
var ret = str.substr(i, i + 3);
// do whatever you want to do with the match
}
}
感謝您的回覆。所以你的意思是創建一些可能的可接受序列的數組,並嘗試通過循環檢查..正確..? – avinashr 2013-04-05 06:59:36
我已經更新了我的答案,以向你展示我的意思。 – 2013-04-05 07:24:44
感謝您的答覆。 b – avinashr 2013-04-05 07:01:38