#javascript #jquery #url #match
#javascript #jquery #url #совпадение
Вопрос:
Я пытался проверить URL с помощью этой функции. Если мы используем один текст, то он работает, но когда мы вводим URL, он не работает.
jQuery(document).ready
(
function ()
{
//var regExp = /franky/g; //It's working
var regExp = /http://localhost/sitename/members/g; //its not working
var testString = "http://localhost/sitename/members/alan/course/";//In your case it would be window.location;
var testString = window.location;//Inyour case it would be window.location;
if(regExp.test(testString)) // This doesn't work, any suggestions.
{
alert("your url match");
}else{
alert("Not match");
}
}
);
Комментарии:
1. Вы должны избегать косых черт в
regExp
like/http://localhost/sitename/members/g
Ответ №1:
Вы упоминаете неправильное регулярное выражение в своем коде,
var regExp = /http://localhost/sitename/members/g;
Здесь вы получите синтаксическую ошибку.
Вместо этого вы можете использовать регулярное выражение, например,
var regExp = new RegExp("http://localhost/sitename/members");
или
var regExp = /http://localhost/sitename/members/g;
Ответ №2:
Согласно вашему вопросу, я понимаю, что ваша единственная цель — проверить URL, содержит ли он определенную строку или нет. Для этой цели вам не нужно регулярное выражение. Вы можете использовать функцию включения JS для достижения желаемого результата.
jQuery(document).ready
(
function ()
{
var check_string = "localhost/sitename/members";
var test_string = "http://localhost/sitename/members/alan/course/";
if (test_string.includes(check_string))
{
alert("your url match");
}
else
{
alert("Not match");
}
}
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>