Javascript RegExp匹配用户ID模式

时间:2016-04-21 20:38:42

标签: javascript

我正在使用下面的C#代码来检测字符串是否格式化为E123456,H123456或T123456。

Regex(@"\b[eht]\d{6}") 

我正在尝试使用等效的Javascript但是遇到了困难。

到目前为止,我有,但每当它应该返回true时它返回false。

RegExp("\b[eht]\d{6}") 

任何帮助都将受到赞赏,或者是RegExp格式化的良好链接。

3 个答案:

答案 0 :(得分:1)

我相信你遇到的问题是因为当使用带有字符串参数的RegExp构造函数时,必须使用反斜杠字符转义特殊字符(如斜杠和引号)。另外,如果要允许大写和小写匹配,请使用i标志。

要使用构造函数方法创建RegExp,您可以使用:

new RegExp("\\b[eht]\\d{6}", "i")

或者制作一个RegExp文字,请使用:

var regExName = /\b[eht]\d{6}/i

此外,如果您想在JavaScript中使用RegEx进行更多实验,http://regexr.com/是一个很棒的网站,我强烈推荐!

答案 1 :(得分:0)

您的正则表达式仅匹配小写字符,而您的用户ID具有大写字母E,H和T.因此,要么在正则表达式字符串中使用大写字母(RegExp("\b[EHT]\d{6}")),要么使用i标记({ {1}})

答案 2 :(得分:0)

转义字符串有一些问题,因为我看到正则表达式应该不区分大小写。试试这个正则表达式:

/\b[eht]\d{6}/i

或使用RegExp构造函数:

new RegExp("\\b[eht]\\d{6}", "i")
相关问题