увидел видео на YouTube, в котором Chrome имеет Dev-инструменты, и запустил его для удовольствия, но обнаруживает проблему с совпадениями RegEx.exec, но не уверен, почему.
Несмотря на ошибку, функция работаетотлично подходит для IE и Chrome, как и ожидалось , но я не хочу опережать себя, прежде чем создавать больше кодов / страниц, пока эта нулевая ошибка не будет исправлена.
Это мой первый опыт использования javascriptсоздать свой собственный веб-инструмент автоматизации, работающий на моем компьютере, где я вставляю многострочный текст для извлечения совпадений данных с помощью Regexp.exec, а затем выполняю конкатенацию для своей работы в колл-центре.
из ChromeDevTool
Uncaught TypeError: Cannot read property '1' of null ConcatenateNodeAddr.html:27
Join_NE_TID @ ConcatenateNodeAddr.html.html:27
onpaste @ ConcatenateNodeAddr.html.html:8
line 27 = var NetworkElementTID = (NodeAddrMatch[1]+NodeAddrMatch[2]+NodeAddrMatch[3]);
Теперь запутался, почему мой код "работает", потому что я получил правильный вывод.Я нашел похожие вопросы в stackoverflow, но, похоже, в этих примерах RegEx не было совпадений, и я должен что-то упустить.
Чтобы использовать мой webtool, просто скопируйте "W WLBYTYPSH67 WMMM800D 0311.05B 113" в текстовую область
Я использовал регулярные совпадения regex101 и RegEx, несмотря на ошибку.
Match1 = WLBYTYPSH67 Match2 = 0311 Match3 = 05B
function ClearForm() {
document.getElementById("TL1Form").reset();
}
function Join_NE_TID() {
// ## Extract NODE and Address to create TID //
var InputName_NodeAddr = document.getElementsByName('NodeAddr')[0].value;
var NodeAddrRegexp = /[\s\S]*\s([A-Z]{6}[A-Z0-9]{5})[\s\S]*\s([A-Z0-9]{4,6})(?:\.)([A-Z0-9]{3,5})\s[\s\S]*/;
var NodeAddrMatch = NodeAddrRegexp.exec(InputName_NodeAddr);
var NetworkElementTID = (NodeAddrMatch[1] + NodeAddrMatch[2] + NodeAddrMatch[3]);
alert(NodeAddrMatch[1]); // alert shows the match //
// ## Output Section Node and Address ## //
var InputName_NodeAddrTID = document.getElementsByName('NodeAddrTID')[0];
InputName_NodeAddrTID.value = (NetworkElementTID);
}
<form id="TL1Form">
<!–– // ## Define User Input Section ## // ––>
<br /><b> Copy/Paste data between into text area<br/> ( W WLBYTYPSH67 WMMM800D 0311.05B 113 )</b><br />
<textarea name="NodeAddr" rows="3" cols="27" placeholder="W WLBYTYPSH67 WMMM800D 0311.05B 113" oninput="Join_NE_TID();" onpaste="Join_NE_TID();" /></textarea><br />
<input type="button" onclick="ClearForm()" value="Reset form"><br /><br />
<!–– // ### Define Output Fields for Concatenation ### //––>
<b>TID:</b> <input type="text" name="NodeAddrTID" size="25" placeholder="WLBYTYPSHAT031105B" /> <br /> The output is correct WLBYTYPSH67031105B
</form>