когда Вы говорите, что строка s = "эта строка" тогда s [0] является символом в в определенном индексе в той строке (в этом случае s [0] == 't')
Так для ответа на вопрос, используйте двойные кавычки или одинарные кавычки, можно думать о следующем как о значении того же самого:
string s = " word word";
// check for space as first character using single quotes
if(s[0] == ' ') {
// do something
}
// check for space using string notation
if(s[0] == " "[0]) {
// do something
}
, Как Вы видите, с помощью одинарной кавычки для определения единственного символа, намного легче, чем попытка преобразовать нашу строку в символ только для тестирования.
if(s[0] == " "[0]) {
// do something
}
действительно похож на высказывание:
string space = " ";
if(s[0] == space[0]) {
// do something
}
, Надо надеяться, я не смущал Вас больше!
Я предполагаю, что вы знаете, как получить значение
с помощью JavaScript. Итак, ваша проблема заключается в написании специальной функции для проверки URL.
Сначала мы можем рассмотреть проверку синтаксической правильности URL .
Некоторые примеры, которые наш валидатор URL определенно должен рассматривать как ОК:
http://www.example.com.
http://www.google.ee/search?q=foo&sourceid=opera&ie=utf-8&oe=utf-8
https://ama-z-on.co.uk/index.html?a=hei%20hoo
ftp://ftp.linux.ee/public/gentoo/i386/portage-snapshot.tar.bz
http://he.wikipedia.org/wiki/שטרגליים#.D7.A8.D7.90.D7.95_.D7.92.D7.9D
sftp://123.1.255.128:80/pub
И это лишь небольшая часть реального разнообразия возможных URL-адресов. И HTTP и FTP - не единственные протоколы, доступные для URL. О боже, эта проверка URL-адреса действительно сложна.
Но давайте предположим, что действительный URL-адрес должен начинаться с нескольких букв, затем с ": //" и после этого что угодно. Чтобы проверить этот тип шаблона, вы должны использовать регулярное выражение, которое в JavaScript выглядит так:
function validateUrl(url) {
return /^[a-z]+:\/\//i.test(url);
}
Регулярные выражения - это целая большая тема, которую вам следует изучить самостоятельно,
[az]
- соответствует a, b, c, ..., x, y или z. +
- означает, что предыдущий шаблон может повторяться один или несколько раз. :
- соответствует самому символу двоеточия. \ /
- соответствует прямой косой черте /
(без обратной косой черты JavaScript будет думать, что это конец регулярного выражения ). /
- завершает регулярное выражение. i
- это модификатор, который делает это регулярное выражение нечувствительным к регистру. .test (url)
- вызывает тестовый метод
объекта регулярного выражения с параметром url
. Когда параметр соответствует регулярному выражению, он возвращает true
в противном случае false
. Кроме того, вы можете разрешить ввод URL без http: //
часть - это означает, что вам действительно нужно проверить доменное имя или IP-адрес или что-то еще, что следует за ним.
Я думаю, вы уже довольно запутались, и это сделано намеренно. Вам действительно не следует писать JavaScript для проверки URL самостоятельно, это слишком сложно сделать правильно. Вместо этого вам следует использовать библиотечную функцию , которая проверена и подтверждена многими экспертами как правильная.
Возможно, у используемого вами JavaScript-кода уже есть хороший инструмент для этой работы. В таком случае используйте его. К сожалению, я не могу предложить какую-либо конкретную библиотеку для проверки URL.
Кроме того, вы можете рассмотреть возможность пинговать URL , как предложил Джош Стодола, чтобы проверить, действительно ли он существует. Хотя, как предлагает Джош,
Выполните базовый тест RegExp для форматирования. Затем проверьте URL-адрес с помощью XMLHttpRequest , чтобы убедиться, что он существует. Пример использования jQuery ...
var url = $("#txtUserWebSite").val();
var reg = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([,-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([,-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([,-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/;
if(!reg.test(url)) {
alert("Invalid URL!");
return false;
}
$.get(url, function(dat, stat) {
if(stat == "success")
alert("Valid URL!");
else
alert("Invalid URL!");
})
Посетите Библиотеку регулярных выражений , в которой есть большой репозиторий регулярных выражений для всех видов проверок. Они также предоставляют инструмент онлайн-тестирования.