Javascript 删除razor中电话号码中的破折号

Javascript 删除razor中电话号码中的破折号,javascript,razor,Javascript,Razor,我需要调用JavaScript方法并使用razor打印参数 getNumber(@Html.DisplayFor(model => model.phone1)"> 但是,JavaScript将电话号码中的破折号视为减法运算符 我尝试用正则表达式删除破折号,但我找不出正确的语法。这仍然会执行减法运算,并给出JavaScript错误[subtration result]。replace不是一个函数 getNumber((@Html.DisplayFor(model => mode

我需要调用JavaScript方法并使用razor打印参数

getNumber(@Html.DisplayFor(model => model.phone1)">
但是,JavaScript将电话号码中的破折号视为减法运算符

我尝试用正则表达式删除破折号,但我找不出正确的语法。这仍然会执行减法运算,并给出JavaScript错误[subtration result]。replace不是一个函数

getNumber((@Html.DisplayFor(model => model.phone1)).replace(/[^0-9.]/g, ''))">

您应该将电话号码视为字符串,要做到这一点,请确保JavaScript也知道电话号码是字符串,方法是将其括在引号中:

getNumber('@Html.DisplayFor(model => model.phone1')
应将其渲染为以下内容:

getNumber('1-800-CALL-ME')

您是否确实尝试过使用强制转换将model.phone1转换为字符串<代码>字符串(model.phone1)?我不认为你需要删除破折号,就像你需要将数字括在引号中一样,这样它就会被当作字符串对待。是的,就是这样。我试过了,但它不会运行,但我一定是把语法弄错了。