Substitute numerical characters with dots

Seeking a solution to replace certain ID numbers in my system with clickable numbers that open the related record. The challenge arises when the IDs are in the format of 123.456.789, as my regex also matches IP addresses like 123.[123.123.123] (where the [] indicates where it matches).

How can I prevent this unwanted behavior?

I attempted using the following regex:

/^(?!\.)([0-9]{3}\.[0-9]{3}\.[0-9]{3})(?!\.)/

I am specifically dealing with "notes" within a ticket system. When the note contains just the ID or an IP address, the regexp works fine. However, if the note includes additional text like:

Affected IDs:
641.298.855 (this, lead)
213.794.868
948.895.285

It fails to match the IDs correctly. Any assistance on resolving this issue and understanding what I might be doing wrong would be greatly appreciated.

Answer №2

Avoid using negative lookahead at the beginning, and there is no need for the g modifier. Just stick to the m modifier as it will suffice in this scenario because ^ denotes the start of a line, ensuring that the pattern only matches strings at the beginning without globally matching (i.e., multiple matches on a single line).

/^([0-9]{3}\.[0-9]{3}\.[0-9]{3})(?!\.)/m

For better performance, you can skip using a capturing group.

/^[0-9]{3}\.[0-9]{3}\.[0-9]{3}(?!\.)/m

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Custom action in Bokeh with a personalized icon

Currently, I am working on creating custom actions for a bokeh plot within the toolbar. In order to achieve this, I require custom icons as well. To begin, I referred to this example which demonstrates creating a drawing tool. So far, everything is functi ...

Node API session functioning properly on Postman but experiencing issues in web browser

I am currently working on developing a node API for authentication purposes. The login session is created and stored successfully when tested in Postman. However, I am encountering an issue where it does not work in the browser. I suspect that the problem ...

Merge the date within every individual element

I am trying to combine two dates together. I thought my code was correct, as I first created the current year and then added 1 month to get to 2019. However, for some reason, the result is not displaying. function combineDates() { var currentDate = ...

Guide on: Reloading an AngularJS Route

I'm in the process of setting up a Typescript SPA project using Visual Studio and AngularJS for routing. Here is my current configuration... var app = angular.module("myApp", ["ngRoute"]); app.config(($routeProvider, $locationProvider) => { $route ...

JavaScript code that functions similarly to VLOOKUP, allowing you to map input values from one field to

As a beginner in HTML and JavaScript, I am trying to create a simple form that automatically populates a specific "Customer Code" when a "Customer Name" is selected from a dropdown list (similar to an Excel VLOOKUP). However, the examples I found on Stack ...

Experience the combined power of addthis, isotope, and nicescroll - all in a single

I am utilizing a WordPress template that includes a set of share buttons from AddThis. <ul class="addthis extra"> <li class="addthis-hold"> <div class="addthis_toolbox" addthis:url="<?php the_permalink( ...

Using Rollup alongside Typescript to handle absolute imports for type declarations

In the process of creating a React component library, the project structure resembles the following: src/ components/ utils/ hooks/ Currently, there is an attempt to generate type files (.d.ts) using rollup. The types are successfully generated, ...

`How can I use lodash to filter an array based on any matching value?`

I have a collection of objects and I need to search for instances where certain properties match specific values. Here is an example array: let arr = [ { a: 'foo', b: 'bar' }, { a: 'bar', ...

What is the best way to transform an array of objects into a single string in JavaScript?

After receiving the input from req.body, it looks like this: [ { "Name": "Test_1", "Level 1": "Story_1", "Level 2": "Story_1.1" }, { "Name": & ...

Build a stopwatch that malfunctions and goes haywire

I am currently using a stopwatch that functions well, but I have encountered an issue with the timer. After 60 seconds, I need the timer to reset to zero seconds and advance to one minute. Similarly, for every 60 seconds that pass, the minutes should chang ...

JavaScript Implementation of Min Heap

Hello! I've been working on implementing a min heap in JavaScript and I have a question about the removeMin algorithm. I am using an array to store the heap internally. When percolating downwards, I am currently using the condition 2 * k <= this.si ...

Retrieving a column from a table and converting it into an array for utilization in a context processor on

I need to extract column data from a DB table using a Django context processor. This specific table column contains various versions of the primary data, so I want to gather all versions and pass them as context to an HTML page. The existing context proces ...

The .map function doesn't seem to be functioning properly in the React application

I am facing an issue with the .map method of the object from the API I imported. Despite being able to see the object in the browser console, I cannot interact with it. This component is called "races" const BASE_URL = "https://www.dnd5eapi.co/api/races"; ...

Pass data from a JavaScript array to PHP with AJAX

I have sought assistance both here and on stackoverflow in creating an invitation function. Within an AJAX-based search box, users can invite teams. Upon locating and selecting a team, it is stored in an array. However, I now need to access the data from t ...

Struggling to align the h1 tag with a p tag on the same line

How can I align the balance to the upper right-hand corner of my website? I'm new to HTML and CSS and struggling to get the p tag next to the h1 tag. I've tried using display inline for the h1 tag and float right for the p tag, as well as setting ...

Change the image size as you scroll through the window

While my opacity style is triggered when the page is scrolled down, I am facing an issue with my transform scale not working as expected. Any suggestions on how to troubleshoot this or any missing pieces in my code? Codepen: https://codepen.io/anon/pen/wy ...

Incorporate blocks into the text input box, reminiscent of how email applications manage to field

Seeking assistance with coding a header for a compose message page in a web application, utilizing HTML, CSS, and JS. The main query is about how to implement the functionality of converting selected email addresses into a box, as showcased in the image b ...

Steps to reinitialize the error code after removal from the roster

Currently, I am working on creating a series of textboxes and dropdown menus using jQuery. So far, the add function is functioning smoothly without any glitches. However, my issue lies within the delete function. It works well when deleting sequentially, ...

When attempting to print certain attributes, the Node.JS array unexpectedly becomes undefined

While attempting to print a specific attribute such as "Full time or part time" in the getEmployeesByStatus() function, I encountered an issue where it suddenly returns undefined even though the entire array prints when I try to display it. This problem ha ...

Error encountered when simulating the effect of calling 'insertPlayerData' function: ReferenceError - currentUserId has not been defined

PlayerList = new Mongo.Collection('players'); UerAccounts = new Mongo.Collection('user'); if(Meteor.isClient){ Template.leaderboard.helpers({ 'player':function(){ var currentUserId = Meteor.userId(); return Play ...