Код работает на jsfiddle, но не на моем сайте?

Привет, так недавно я нашел в Интернете какой-то код, ища метод, который может распознавать тип кредитной карты при вводе чисел, я попробовал код на jsfiddle.net, и, похоже, он работал нормально, пока я не решил скопировать и вставьте код в пустой файл .php, код появится, я не получу ошибок, но он просто не будет делать то, что должен делать. я набираю код не в том месте или что-то в этом роде?

вот ссылка на оригинальный JSfiddle: http://jsfiddle.net/ipsjolly/9whmL9u0/

и вот мой файл .php:

function detectCardType(number) {
    var re = {
        electron: /^(4026|417500|4405|4508|4844|4913|4917)\d+$/,
        maestro: /^(5018|5020|5038|5612|5893|6304|6759|6761|6762|6763|0604|6390)\d+$/,
        dankort: /^(5019)\d+$/,
        interpayment: /^(636)\d+$/,
        unionpay: /^(62|88)\d+$/,
        visa: /^4[0-9]{12}(?:[0-9]{3})?$/,
        mastercard: /^5[1-5][0-9]{14}$/,
        amex: /^3[47][0-9]{13}$/,
        diners: /^3(?:0[0-5]|[68][0-9])[0-9]{11}$/,
        discover: /^6(?:011|5[0-9]{2})[0-9]{12}$/,
        jcb: /^(?:2131|1800|35\d{3})\d{11}$/
    };
    if (re.electron.test(number)) {
        return 'ELECTRON';
    } else if (re.maestro.test(number)) {
        return 'MAESTRO';
    } else if (re.dankort.test(number)) {
        return 'DANKORT';
    } else if (re.interpayment.test(number)) {
        return 'INTERPAYMENT';
    } else if (re.unionpay.test(number)) {
        return 'UNIONPAY';
    } else if (re.visa.test(number)) {
        return 'VISA';
    } else if (re.mastercard.test(number)) {
        return 'MASTERCARD';
    } else if (re.amex.test(number)) {
        return 'AMEX';
    } else if (re.diners.test(number)) {
        return 'DINERS';
    } else if (re.discover.test(number)) {
        return 'DISCOVER';
    } else if (re.jcb.test(number)) {
        return 'JCB';
    } else {
        return undefined;
    }
}

$(function(){

    $(".ckthis").keyup(function(){
        var thisNum = $(this).val();
        console.info(thisNum);
        $(".showThis").html(detectCardType(thisNum));
    });


});
<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script>
<input type = "text" class = "ckthis">
<div class = "showThis"></div>  
<br><br> SAMPLE TEST NUMBERS
<br><br> VISA:4539435089757850<br><br>

Вам нужен сервер для запуска php файла. Вы работаете на локальном хосте? P.S. В вашем файле я не вижу php-кода ....

Sfili_81 12.10.2018 11:06

где в коде вы загружаете jQuery?

Jaromanda X 12.10.2018 11:07

да, это работает, но я не думаю, что js работает. он не говорит о визе или что-то еще, хотя я его точно скопировал и набрал то же самое во входных данных

Robart 12.10.2018 11:08

Зачем нужно сохранять его как файл .php, когда нет php? Сохранение его как .html и запуск сценариев JS должно работать нормально. А также вам необходимо загрузить библиотеку JQuery.

Sanguinary 12.10.2018 11:09

Итак, каков адрес этого файла в вашем браузере ... это http://... или https://... или это file:///...

Jaromanda X 12.10.2018 11:09

Ваш код работает нормально, пока вы загружаете библиотеку jQuery: jsfiddle.net/3rror404/Lw1hpq7y/2

Turnip 12.10.2018 11:11

@JaromandaX URL: titan.csit.rmit.edu.au/~s3656661/wp/a2/checkout2.php, о, и я не могу поверить, что забыл загрузить jQuery .... я такой тупой. Спасибо, что заметили это

Robart 12.10.2018 11:12

@ Turnip yeh кто-то еще заметил это, не могу поверить, что я это пропустил. Большое спасибо

Robart 12.10.2018 11:13

как ни странно, вы сказали, что ошибок не было, но $ не был бы определен, поэтому в консоли инструментов разработчика браузера должны были быть ошибки.

Jaromanda X 12.10.2018 11:28
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
9
95
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я не вижу, что вы включили свою библиотеку JQuery.

Поместите это где-нибудь в свой код (например, внизу, над вашими тегами <script>)

<script src = "https://code.jquery.com/jquery-3.3.1.min.js" integrity = "sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8 = " crossorigin = "anonymous"></script>

Или вы можете скачать всю библиотеку локально на свой компьютер и вместо этого ссылаться на нее таким образом.

Другие вопросы по теме