मेरे पास एक प्रोजेक्ट है, जिसमें कुछ जावास्क्रिप्ट var का मूल्यांकन किया जाता है। चूंकि स्ट्रिंग से बचने की आवश्यकता है (केवल एकल उद्धरण), मैंने परीक्षण फ़ंक्शन में सटीक कोड लिखा है। मैं बहुत सरल JavaScript कोड के निम्नलिखित सा है:जावास्क्रिप्ट मूल्यांकन के लिए जावास्क्रिप्ट स्ट्रिंग में एकल उद्धरण से बचने
function testEscape() {
var strResult = "";
var strInputString = "fsdsd'4565sd";
// Here, the string needs to be escaped for single quotes for the eval
// to work as is. The following does NOT work! Help!
strInputString.replace(/'/g, "''");
var strTest = "strResult = '" + strInputString + "';";
eval(strTest);
alert(strResult);
}
और मैं यह सूचित करना चाहते हैं, कह रही: fsdsd'4565sd
।
strInputString = strInputString.replace(...
यह भी है कि आप चरित्र सही ढंग से बचने नहीं कर रहे हैं लगता है:
अपेक्षाकृत सुरक्षित दृष्टिकोण 'var strResult = eval (" ("+ strInputString +") ") हो सकता है;'। साथ ही, 'STRING' अपरिवर्तनीय है, इसलिए' string.replace() '** ** प्रतिस्थापित परिणाम लौटाता है, ** ** ** स्ट्रिंग को संशोधित नहीं करता है। – Passerby
क्या आप यह उम्मीद कर रहे हैं http://jsfiddle.net/ebTtp/ – ssilas777