This is an unofficial validator¹/conformance checker of the hCard microformat.
Po polsku
En français
(translations welcome!)
Referer<a href="http://hcard.geekhood.net/referrer/">Validate hCards</a>
Send GET request to http://hcard.geekhood.net/?url=URL to validate&output=json.
Output will be roughly compatible with the Validator.nu JSON API. Likely to change in the future.
Please use this API for validation, not just as an converter/extraction tool.
This document contains errors.
No hCards foundThere must be at least one element with class="vcard".
<!DOCTYPE html><html lang="en" data-adblockkey=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANnylWw2vLY4hUn9w06zQKbhKBfvjFUCsdFlb6TdQhxb9RXWXuI4t31c+o8fYOv/s8q1LGPga3DE1L/tHU4LENMCAwEAAQ==_kYis0j5QKziysHJEvsEMGpDuYFW22Og+hiMaUZm5PybbbwCO6QmCsEa5Ts+U6kr19f+4KRT4ersBgiz9VaSUIg==><head><meta charset="utf-8"><title>backgroundcheckvcry.stream - backgroundcheckvcry Resources and Information.</title><meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0"><meta name="description" content="backgroundcheckvcry.stream is your first and best source for information about backgroundcheckvcry. Here you will also find topics relating to issues of general interest. We hope you find what you are looking for!"><link
rel="icon"
type="image/png"
href="//img.sedoparking.com/templates/logos/sedo_logo.png"
/></head><body><img width="16" height="16" src="https://img.sedoparking.com/images/js_preloader.gif" alt="" /><script
async
src='https://euob.iseaskies.com/sxp/i/581749a3c1e7922374ca9b3d4dff0407.js'
data-ch='Yahoo Test'
class='ct_clicktrue_95200'
data-jsonp='onCheqResponse'
data-uvid="b0adf443-7247-46d9-a518-5bbdddf75744"
></script><script type="text/javascript">
const CHEQ_BLOCKED_REASONS = [
"Automation tool", "Disabled JS", "Malicious Bots",
"False Representation", "Low quality users",
"Location Spoofing", "IP reputation", "Browser Anomalies",
"Invalid Bot Activity"
];
function doRedirect() {
const request = new XMLHttpRequest();
request.open('GET', "\/\/backgroundcheckvcry.stream/search/tsc.php?ses\u003DogcPEx6y_tiO9jklKn6JdfI9e5vaI5_N_DiLcawNpLlsJI\u002Dt0nfN6mB7CCTzIJc6Uqv6ZB4jypB92QEMIN6u3mruZeb8\u002DFSHQGt7ET4IR9_q5zdIM40Fb5iTui8P74MwcW_c_oQf_SJ7S2c883i8q7zZhdaEOYvklwHyExerQC4ucO7RfQ4wmvL5MFePADiPMDjiCn3v1MEa5J4\u002D0eSvRoY6MPKju5vk9L6OQwxkNIcVxomI9kqHY1QZrS2\u002DVVbMA40vckibAOBi4x4EuBl_y9X5NDC18vqUZnnkZq1yRt1hd0se1y7m7IIbeEmpyqHM9xQEEF25ECoYPuLC9fN51JOt8cMgUxHDeHY6AeBgn3R_IP9VPcIwzn0f4j0qe1s\u0026cv\u003D2");
request.send();
request.onreadystatechange = function () {
if (request.readyState === 4 && request.status === 200) {
window.location = "\/\/backgroundcheckvcry.stream\/search\/redirect.php\u003Ff\u003Dhttp\u00253A\u00252F\u00252Ftheresultsearch.com\u00253Fdn\u00253Dbackgroundcheckvcry.stream\u002526sksubid\u00253D3632559\u002526_slsen\u00253D0\u002526pid\u00253D9PO7FO5YW\u0026v\u003Dogc_U\u002DFod3YW4PypTPdx01yNahz4I7ZyBBRG73JbQm8hvS3zvvUGg\u002DztoRrcDM5xiTdW_b5p7gEoXKrC9mj1bSKRFUwORpBgUGU4obyn40fhrQcu4gcKqGm3nF6ZgIyqEbtsrvZEobM9T_ERPEvPv_n\u002D9PX8z_g3O5OjzpLfQDiizutZlNfKTkntUSYI3HfvLm6YBMg1zklyJiSiBHfgTa3MKq_FluMoLIuw3c\u0026l\u003Dogc\u002Dkx64IIrBlr5V\u002D9aMkYrYzbrN6DOHQj59NeYZ4Lh1OmxYjH7uQDDUNrIQAkpxSafvZ12y_hbgw0dgw4sbJiJKiVuUeHhbtrIDS0kZOnB8K\u002DHSDdIOAiHMZcwKwNpmU421jLvSSQOWHW4FUqBjcXEmtKB2vWslBjaeo72hxblmpt\u002DiwALacCiQofv\u002DFLLqcERnMBMjNKjpeKhINngTmFwllF4DYzUCmVtKn62r3epyLKqKUoPEv0HL41UQNjiyq0wkjbqiv0\u002DZ0I19PwaKT36TaublxDDnnw\u002DAoCSAoRITJ64hTrklHEEpYroDqufYpv40gtkXHffl3NdD4ENFtrkmKO_yf9UWpxqXLrXVPjf4wva1mRxqcB7BwnW8vIQ1nNhYQ3QGH8z5nJ_US3zeGsdKZezUcbzV2MBreXDbvMCMwMeMGRa4V9KiLAkqyxS5KsKuuCJsVy6R90gJpfC2NNw87epmC09DP8JzrNA32lRBWAv0u8xvM4mcAoLxC97BsY_wAr3OVZYTvnBp59yO8S7HyDm0qXZhKhlsouLiOhtrVHPlIj\u002DZeQnQ33oci30ssFRFR3fXSUZCs2EVhPZ1fctrEXtL55qPclVpL52Em3Ew7yvoq4xK7LwJwp6H1JAuMw\u002DH\u002DHbu4JmXwiTZVKHfmDBI1WMAeMa_P776M9gJkGt7sTFcb6UgbximFvOMuSPTwu0ZmV5McZMtV2zQijr\u002D5ZWO6xer_8";
}
};
}
(function () {
let cheqEvtReceived = false;
document.body.addEventListener("cheqEvt", function (event) {
cheqEvtReceived = true;
const data = event.detail;
if (data && typeof data === "object") {
const cheqTT = (data.cheqObj && data.cheqObj.cheqTT) || '';
if (!CHEQ_BLOCKED_REASONS.includes(cheqTT)) {
doRedirect();
}
return;
}
doRedirect();
});
setTimeout(function () {
if (!cheqEvtReceived) {
doRedirect();
}
}, 500);
})();
</script></body></html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" data-adblockkey="MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANnylWw2vLY4hUn9w06zQKbhKBfvjFUCsdFlb6TdQhxb9RXWXuI4t31c+o8fYOv/s8q1LGPga3DE1L/tHU4LENMCAwEAAQ==_kYis0j5QKziysHJEvsEMGpDuYFW22Og+hiMaUZm5PybbbwCO6QmCsEa5Ts+U6kr19f+4KRT4ersBgiz9VaSUIg==">
<head>
<meta charset="utf-8"/>
<title>backgroundcheckvcry.stream - backgroundcheckvcry Resources and Information.</title>
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0"/>
<meta name="description" content="backgroundcheckvcry.stream is your first and best source for information about backgroundcheckvcry. Here you will also find topics relating to issues of general interest. We hope you find what you are looking for!"/>
<link rel="icon" type="image/png" href="//img.sedoparking.com/templates/logos/sedo_logo.png"/>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
<!-- meta inserted by hCard Validator -->
</head>
<body>
<img width="16" height="16" src="https://img.sedoparking.com/images/js_preloader.gif" alt=""/>
<script async="" src="https://euob.iseaskies.com/sxp/i/581749a3c1e7922374ca9b3d4dff0407.js" data-ch="Yahoo Test" class="ct_clicktrue_95200" data-jsonp="onCheqResponse" data-uvid="b0adf443-7247-46d9-a518-5bbdddf75744"/>
<script type="text/javascript">
const CHEQ_BLOCKED_REASONS = [
"Automation tool", "Disabled JS", "Malicious Bots",
"False Representation", "Low quality users",
"Location Spoofing", "IP reputation", "Browser Anomalies",
"Invalid Bot Activity"
];
function doRedirect() {
const request = new XMLHttpRequest();
request.open('GET', "\/\/backgroundcheckvcry.stream/search/tsc.php?ses\u003DogcPEx6y_tiO9jklKn6JdfI9e5vaI5_N_DiLcawNpLlsJI\u002Dt0nfN6mB7CCTzIJc6Uqv6ZB4jypB92QEMIN6u3mruZeb8\u002DFSHQGt7ET4IR9_q5zdIM40Fb5iTui8P74MwcW_c_oQf_SJ7S2c883i8q7zZhdaEOYvklwHyExerQC4ucO7RfQ4wmvL5MFePADiPMDjiCn3v1MEa5J4\u002D0eSvRoY6MPKju5vk9L6OQwxkNIcVxomI9kqHY1QZrS2\u002DVVbMA40vckibAOBi4x4EuBl_y9X5NDC18vqUZnnkZq1yRt1hd0se1y7m7IIbeEmpyqHM9xQEEF25ECoYPuLC9fN51JOt8cMgUxHDeHY6AeBgn3R_IP9VPcIwzn0f4j0qe1s\u0026cv\u003D2");
request.send();
request.onreadystatechange = function () {
if (request.readyState === 4 && request.status === 200) {
window.location = "\/\/backgroundcheckvcry.stream\/search\/redirect.php\u003Ff\u003Dhttp\u00253A\u00252F\u00252Ftheresultsearch.com\u00253Fdn\u00253Dbackgroundcheckvcry.stream\u002526sksubid\u00253D3632559\u002526_slsen\u00253D0\u002526pid\u00253D9PO7FO5YW\u0026v\u003Dogc_U\u002DFod3YW4PypTPdx01yNahz4I7ZyBBRG73JbQm8hvS3zvvUGg\u002DztoRrcDM5xiTdW_b5p7gEoXKrC9mj1bSKRFUwORpBgUGU4obyn40fhrQcu4gcKqGm3nF6ZgIyqEbtsrvZEobM9T_ERPEvPv_n\u002D9PX8z_g3O5OjzpLfQDiizutZlNfKTkntUSYI3HfvLm6YBMg1zklyJiSiBHfgTa3MKq_FluMoLIuw3c\u0026l\u003Dogc\u002Dkx64IIrBlr5V\u002D9aMkYrYzbrN6DOHQj59NeYZ4Lh1OmxYjH7uQDDUNrIQAkpxSafvZ12y_hbgw0dgw4sbJiJKiVuUeHhbtrIDS0kZOnB8K\u002DHSDdIOAiHMZcwKwNpmU421jLvSSQOWHW4FUqBjcXEmtKB2vWslBjaeo72hxblmpt\u002DiwALacCiQofv\u002DFLLqcERnMBMjNKjpeKhINngTmFwllF4DYzUCmVtKn62r3epyLKqKUoPEv0HL41UQNjiyq0wkjbqiv0\u002DZ0I19PwaKT36TaublxDDnnw\u002DAoCSAoRITJ64hTrklHEEpYroDqufYpv40gtkXHffl3NdD4ENFtrkmKO_yf9UWpxqXLrXVPjf4wva1mRxqcB7BwnW8vIQ1nNhYQ3QGH8z5nJ_US3zeGsdKZezUcbzV2MBreXDbvMCMwMeMGRa4V9KiLAkqyxS5KsKuuCJsVy6R90gJpfC2NNw87epmC09DP8JzrNA32lRBWAv0u8xvM4mcAoLxC97BsY_wAr3OVZYTvnBp59yO8S7HyDm0qXZhKhlsouLiOhtrVHPlIj\u002DZeQnQ33oci30ssFRFR3fXSUZCs2EVhPZ1fctrEXtL55qPclVpL52Em3Ew7yvoq4xK7LwJwp6H1JAuMw\u002DH\u002DHbu4JmXwiTZVKHfmDBI1WMAeMa_P776M9gJkGt7sTFcb6UgbximFvOMuSPTwu0ZmV5McZMtV2zQijr\u002D5ZWO6xer_8";
}
};
}
(function () {
let cheqEvtReceived = false;
document.body.addEventListener("cheqEvt", function (event) {
cheqEvtReceived = true;
const data = event.detail;
if (data && typeof data === "object") {
const cheqTT = (data.cheqObj && data.cheqObj.cheqTT) || '';
if (!CHEQ_BLOCKED_REASONS.includes(cheqTT)) {
doRedirect();
}
return;
}
doRedirect();
});
setTimeout(function () {
if (!cheqEvtReceived) {
doRedirect();
}
}, 500);
})();
</script>
</body>
</html>
Written by Kornel Lesiński . Icons are from Tango Icon Library. Test cases include hCard Acid test by Dmitry Baranovskiy, examples from microformats.org and hCard test suite.
Source code is available under the BSD license.
¹ It's not a validator in the XML/SGML sense.