[英]Javascript Replace via RegEx
我正在嘗試用3個其他字符替換3個字符來構建/屏蔽表單的電子郵件地址。
這僅適用一次或在找到它的第一個實例上起作用:
email = "email1#domain!com|email2#domain!com|email3#domain!com";
email.replace("#","@").replace("!",".").replace("|",",");
上面的代碼導致:email1 @ domain.com,email2#domain!com | email3#domain!com
經過一番閱讀后,我讀到了有關使用RegEx的知識,這是編碼的一部分,我永遠都不會纏着腦袋:
email.replace("/#/g","@").replace("/!/g",".").replace("/|/g",",");
那也不起作用,並且使其與原始var相同。
我究竟做錯了什么?
不要在正則表達式兩邊加上引號。 正則表達式是使用/
作為邊界的文字。
此外,您將需要轉義|
因為它有特殊的意義。
最后, .replace
不是可轉換的。 它返回結果。
email = email.replace(/#/g,'@').replace(/!/g,'.').replace(/\|/g,',');
使用正則表達式文字 ,您可以省略引號(並且您需要對管道進行轉義):
email.replace(/#/g,"@").replace(/!/g,".").replace(/\|/g,",");
email = "email1#domain!com|email2#domain!com|email3#domain!com";
email=email.replace(/#/g,"@").replace(/!/g,".").replace(/\|/g,",");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.