Мой currentWebsiteURL:вар currentWebsiteURL не распознает текущее PAG
вар currentWebsiteURL = window.location.protocol + '//' + window.location.hostname + window.location.pathname;
Мой currentWebsiteURL:вар currentWebsiteURL не распознает текущее PAG
вар currentWebsiteURL = window.location.protocol + '//' + window.location.hostname + window.location.pathname;
Вам необходимо добавить следующие модификаторы gi
,
g modifier: global. All matches (don't return on first match)
i modifier: insensitive. Case insensitive match (ignores case of [a-zA-Z])
i
является необязательным, если вам нужно регулярное выражение, чтобы быть нечувствительными.
В настоящее время ваш код будет искать первый матч и остановиться.
Так что код будет как
var s = currentWebsiteURL.match(/\w{17}/gi);
window.alert(s);
Update
Примечание:
/\w{17}/gi
означает, что он будет разделить строку на куски, каждый кусок 17 Длина символа.
Если вы хотите, чтобы получить переменную с 17 символов или менее, вы должны использовать следующее регулярное выражение:
/\w{0,17}/gi
Если переменная содержит другие специальные символы, такие как #, /, -. так что вам нужно, чтобы включить их в регулярных выражениях
Что-то вроде этого:
/[\w\+\&\@\#\/\%\?\=\~\_\|\$\!\:\,\.\;\-\&\@\#\/\%\=\~\_]{17}/gi
Я пробовал var s = currentWebsiteURL.match (/ \ w {17}/gi); Это не сработало. –
Не могли бы вы дать мне образец вашего ** currentWebsiteURL ** переменной – developer
var currentWebsiteURL = window.location.protocol + "//" + window.location.hostname + "//" + window.location.pathname + "//" + window.location.href + "//" + window.location.assign; –
Предположительно, ваш URL просто не содержит 17 последующие буквенно-цифровые знаки. Сравнить:
// Returns null
"sssss.ssssssss.ssssss.sssss.ssss".match(/\w{17}/);
// Returns ["sssssssssssssssss"]
"ssssssssssssssssssssssssssss".match(/\w{17}/);
Пересмотрите то, чего вы хотите достичь, затем попытайтесь сделать правильное регулярное выражение.
Эти символы я ищу: 1dowHcSE6s0Ms0IZcEbO1zENtUJA3E2KSq. Они находятся в файле. Извините, мой английский очень плохой. –
@ Cylond'Sousa '" 1dowHcSE6s0Ms0IZcEbO1zENtUJA3E2KSq ".match (/ \ w {17} /);' возвращает '[" 1dowHcSE6s0Ms0IZc "]'. Ваш английский не является проблемой.Проблема в том, что вы не предоставили всю информацию о своей проблеме. Что ты пытаешься сделать? Что такое ** точная ** строка, которую вы пытаетесь сопоставить? –
ОК, я нашел ошибку. Томаш Сато, вероятно, прав. Я разрешу и вернусь с ответом. –
Чего вы хотите достичь? Не могли бы вы включить фрагмент кода или какой-нибудь сценарий? –
У меня вопрос об этом, потому что регулярное выражение явно работает (просто протестировало его в консоли). Вы просто пытаетесь сопоставить последовательные буквенно-цифровые символы в URL-адресе, который, вероятно, содержит также не буквенно-цифровые символы. –