{"ScriptPreparationCode":"var a = \u0022FOO BAR\u0022;\r\nvar b = \u0022foo bar\u0022;\r\n\r\nvar options = {\r\n numeric: true\r\n};\r\n\r\nvar collator = new Intl.Collator(\u0027en\u0027, options);\r\n\r\nvar reA = /[^a-zA-Z]/g;\r\nvar reN = /[^0-9]/g;\r\n\r\nfunction sortAlphaNum(a, b) {\r\n var aA = a.replace(reA, \u0022\u0022);\r\n var bA = b.replace(reA, \u0022\u0022);\r\n if (aA === bA) {\r\n var aN = parseInt(a.replace(reN, \u0022\u0022), 10);\r\n var bN = parseInt(b.replace(reN, \u0022\u0022), 10);\r\n return aN === bN ? 0 : aN \u003E bN ? 1 : -1;\r\n } else {\r\n return aA \u003E bA ? 1 : -1;\r\n }\r\n}","TestCases":[{"Name":"sortAlphaNum()","Code":"sortAlphaNum(a,b) === 0","IsDeferred":false},{"Name":"Intl.Collator.compare()","Code":"collator.compare(a, b) === 0","IsDeferred":false}]}