मैं अपने ऐप में एक समस्या को डीबग करने की कोशिश कर रहा हूं, जिसे मैंने नियमित अभिव्यक्ति से जोड़कर एक विशेष परिस्थिति में संकुचित कर दिया है जिससे क्रोम को चकित कर दिया जाता है! फ़ायरफ़ॉक्स में एक ही कोड का प्रयास करना ठीक काम करता है। इसके अलावा यदि मैं इस पर रेगेक्स चलाने के लिए अपना 'नमूना' टेक्स्ट भी कम करता हूं तो भी काम करता है।यह कोड क्रोम को क्यों दबाता है?
तो क्या देता है? http://jsfiddle.net/XWKRb/1/
कोड मैं jsfiddle में डाल दिया है (जो के रूप में मैं कर रहा हूँ क्योंकि क्रोम यदि आप एक ही परिणाम हो रही है गला घोंटना होगा बिल्कुल प्रारंभ करने में असफल हो जायेगी) है:
यहाँ jsfiddle है
var rgx = /^(\d+([,|;]?\d*))*$/;
var sample = '40162690,40162755,40162691,40168355,40168357,40162726,40162752,40162729,40428707 ,40162740,40162546';
alert("Test is "+rgx.test(sample));
शायद इस मुद्दे से बचने के लिए मेरी नियमित अभिव्यक्ति लिखने का एक बेहतर तरीका है? लक्ष्य नियमित अभिव्यक्ति को संख्याओं की एक स्ट्रिंग पकड़नी चाहिए जो अल्पविराम या अर्ध-कॉलन से अलग होती है।
^(\d+([,|;]?\d*))*$
^ ^^^
| | | ---- zero or more repetitions of the group
| | ------- zero or more digits
| ---------- zero or one comma, pipe or semicolon
----------------- one or more digits
एक दोहराया समूह है जो वैकल्पिक तत्वों, जिनमें से एक ही बार-बार होता है शामिल हैं:
'जानबूझकर sample' में है कि अंतरिक्ष है? –
मैं पुष्टि कर सकता हूं कि यह विंडोज 7 64-बिट –
पर Google क्रोम v28 को तोड़ता है यह बग केवल तब दिखाई देता है जब नमूना स्ट्रिंग के भीतर कोई स्थान होता है। –