0
我正在開發Firefox的上下文菜單加載項。我想獲取selectedText並驗證它是否是一個數字。如果它是一個數字,我正在使用該數字值進一步處理。Firefox上下文菜單中的Regex映射contentScript
但是,我被卡在一個點,我試圖用regex in javascript replace
method替換[(,)]
。
以下是其中未映射任何數目開始/與(
或)
結束的代碼:
var menuItemLRG = contextMenu.Item({
label: "LRG",
data: "http://myurl/&val=:",
contentScript: 'self.on("click", function (node, data) {' +
' var selectedText = window.getSelection().toString();' +
' var formattedText1 = selectedText.trim();' +
' var formattedText2 = formattedText1.replace(/^[,\[\]()]*/g,"");' +
' var formattedText3 = formattedText2.replace(/[,\[\]()]*$/g,"");' +
' console.log(formattedText3); '+
' var regExp = new RegExp(/^[0-9]+$/);' +
' if (regExp.test(formattedText3) == true) {' +
' console.log("URL to follow :"+data+formattedText3);' +
' window.open(data+formattedText3);' +
' } '+
'});'
});
以上代碼未能更換(
或)
在採樣輸入:(5663812, 11620033)
。
但是,香草測試像下面這樣成功:
<script>
var str = "(2342423,])";
var tmpVal1 = str.replace(/^[,\[\]()]*/g,"");
var tmpVal2 = tmpVal1.replace(/[,\[\]()]*$/g,"");
var regExp = new RegExp(/^[0-9]+$/);
if (regExp.test(tmpVal2) == true) {
alert(tmpVal2);
}
</script>