خرید بک لینک

Vote count: 0

I am developing context menu add-on for Firefox. I am trying to get the selectedText and validate if it is a number. If it is a number i am using that number value to process further.

But, i got stuck at a point where i am trying to replace [(,)] using regex in javascript replace method.

Following is the code which fails to map any number starting/ending with ( or ):

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);' +
                     '  } '+
                 '});'
});

Above code fails to replace ( or ) in sample inputs: (5663812, 11620033).

But, a vanilla test like the following succeeds:

<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>

asked 5 mins ago

- - , .

برچسب: نویسنده: استخدام کار تاريخ: دوشنبه 3 اسفند 1394 ساعت: 13:32

صفحه بندی