什么是TypeScript"类型" match()函数的输入

时间:2016-07-19 16:42:56

标签: javascript regex string types typescript

Javascript String Match function

从上面的文档中我看到String.prototype.match()函数的输入是" regexp"。它显然不是一个字符串。它的类型是什么?

在TypeScript中如何声明输入变量?

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

由于正则表达式不是可识别的类型,因此上面显然会抛出错误。我该如何解决?

2 个答案:

答案 0 :(得分:5)

您可以查看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;

你可以看到正则表达式的类型是RegExpmatch有两个定义,一个是字符串,另一个是RegExp。

答案 1 :(得分:0)

试试这个

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

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

然后你可以在课堂上测试它

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

//在课堂外面

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