2016-07-19 10 views
0

Javascript String Match functionWas das Typoskript „Typ“ des Eingangs zu dem Spiel() Funktion ist

Aus der obigen Dokumentation ich sehe, dass die Eingabe in den String.prototype.match() Funktion ist „regexp“. Es ist offensichtlich keine Zeichenfolge. Was ist sein Typ?

In TypeScript wie kann ich die Eingabevariable deklarieren?

regex:regexp = ^\d{2}\/\d{2}\/\d{4}$ 

Das oben genannte gibt offensichtlich einen Fehler aus, da regexp kein erkannter Typ ist. Wie kann ich es reparieren?

+0

var regex =/^ \ d {2} \/\ d {2} \/\ d {4} $/g regex.test (Ihre Variable) // Dies gibt das wahre und falsche Ergebnis aus – Deep

+0

@ Tief Was ist die Typdefinition davon? Wie kann ich das in Typescript erklären? etwas wie regex: regexp = ... – user6123723

+0

[In den offiziellen Deklarationen] (https://github.com/Microsoft/TypeScript/blob/v1.8.10/lib/lib.es6.d.ts#L1650-L1660), Das Argument kann ein ['RegExp'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp) oder' string' sein. –

Antwort

0

Versuchen Sie, diese

//inside the class 
//this expression is to test valid email 

public reg: RegExp = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/; 

und dann können Sie es in Ihrer Klasse testen

this.reg.test("expression to test") 

// Seite aus der Klasse

let reg = /^\d+$/; 
alert(reg.test("sd")); //will alert false 
+0

Warnung (/^\ d + $ /. Test ("sd")); Optional können Sie es testen, ohne vorher die Variable zu deklarieren. – robstarbuck

1

Sie können an den Informationstyp suchen in lib.d.ts:

/** 
    * Matches a string with a regular expression, and returns an array containing the results of that search. 
    * @param regexp A variable name or string literal containing the regular expression pattern and flags. 
    */ 
match(regexp: string): RegExpMatchArray; 

/** 
    * Matches a string with a regular expression, and returns an array containing the results of that search. 
    * @param regexp A regular expression object that contains the regular expression pattern and applicable flags. 
    */ 
match(regexp: RegExp): RegExpMatchArray; 

Sie können sehen, dass der Typ für einen regulären Ausdruck RegExp ist, und es gibt zwei Definitionen für match, wobei einer eine Zeichenfolge und der andere eine RegExp verwendet.