将正则表达式从C#传递到Javascript不起作用

将正则表达式从C#传递到Javascript不起作用,javascript,regex,vb.net,Javascript,Regex,Vb.net,在我的代码中,我将以下正则表达式从VB.net传递到javascript,以进行邮箱地址验证。 我正在从VB.net传递以下正则表达式 ^ *((#\d+)|((box|bin)[-. \/\\]?\d+)|(.*p[ \.]? ?(o|0)[-. \/\\]? *-?((box|bin)|b|(#|num)?\d+))|(p(ost)? *(o(ff(ice)?)?)? *((box|bin)|b)? *\d+)|(p *-?\/?(o)? *-?box)|post office box|((

在我的代码中,我将以下正则表达式从VB.net传递到javascript,以进行邮箱地址验证。 我正在从VB.net传递以下正则表达式

^ *((#\d+)|((box|bin)[-. \/\\]?\d+)|(.*p[ \.]? ?(o|0)[-. \/\\]? *-?((box|bin)|b|(#|num)?\d+))|(p(ost)? *(o(ff(ice)?)?)? *((box|bin)|b)? *\d+)|(p *-?\/?(o)? *-?box)|post office box|((box|bin)|b) *(number|num|#)? *\d+|(num|number|#) *\d+)
它在javascript中运行良好。但它不区分大小写,输入大写字母时失败

我尝试使用下面的正则表达式来区分大小写,但完全失败了

^ *((#\d+)|((box|bin)[-. \/\\]?\d+)|(.*p[ \.]? ?(o|0)[-. \/\\]? *-?((box|bin)|b|(#|num)?\d+))|(p(ost)? *(o(ff(ice)?)?)? *((box|bin)|b)? *\d+)|(p *-?\/?(o)? *-?box)|post office box|((box|bin)|b) *(number|num|#)? *\d+|(num|number|#) *\d+)/i
我的要求是需要将正则表达式从VB.net传递到javascript。
有什么帮助吗?

只有在使用文字语法时,传递
/i
才有效:

var rex = /^X$/i;
调用RegExp构造函数时,需要提供
i
选项作为参数:

var rex = new RegExp("^X$", "i");

您应该展示如何将其传递给JavaScript。我将它作为字符串从VB.net传递,如hdnPOBOX.value=“regex here……”。在Javascript中,我将其命名为var rex=newregexp($('#').val());我知道问题在于最后的“我”。如果我从末尾删除'I',它可以工作,但是,它会区分大小写。我希望这两种情况都能用,然后你需要输出
newregexp(…你的东西…,“I”)as
i
被指定为参数。(
/…/i
表示文字regexp)如果您检查我的上述代码,如果我在最后通过“i”,它将完全失败