Rozważ następujący fragment:
var regex = /^d+$/; // equivalent to new RegExp("^\d+$");
console.println(regex.test("000"));
console.println(regex.test("abc0"));
console.println(regex.test("ddd"));
Można oczekiwać, że wyjście będzie:
true
false
false
Jednak po uruchomieniu go w Adobe Acrobat X, który uruchamia JavaScript 1.8, wyprowadza:
false
false
true
Co tu się dzieje?
Odpowiedzi:
3 dla odpowiedzi № 1Jest to prawdopodobnie wynik przetwarzania ciągu znaków w drodze do interpretera Javascript, powodując twoje d
interpretować jako d
. Dodatkowy ukośnik odwrotny (widocznie) działa.
/^\d+$/