📖
제목, 링크 입력필더 체크 후 자동 제출(제목 URL포함유무 체크 + 링크 유튜브 URL체크)
페이지 정보
본문
1. 제목(subject)에 유튜브 URL이 들어가면 → 제목 비움
2. sitelink1에 유튜브 URL이 아니면 → sitelink1 비움
3. 둘 다 채워져야만 → 1초 후 자동 제출
4. 경고창 없음[code]<script type="text/javascript">
(function(){
var form, subjectInput, sitelinkInput;
var submitTimer = null;
// 유튜브 URL만 허용
function isYouTubeUrl(url) {
url = url.trim();
return /^(https?:\/\/)(www\.)?(youtube\.com\/(watch\?v=|embed\/|shorts\/)|youtu\.be\/|youtube-nocookie\.com\/embed\/)/i.test(url);
}
// 텍스트에서 유튜브 URL 제거 (제목용)
function removeYouTubeUrl(text) {
return text.replace(/https?:\/\/(www\.)?(youtube\.com\/(watch\?v=|embed\/|shorts\/)|youtu\.be\/|youtube-nocookie\.com\/embed\/)[^\s]*/gi, '').trim();
}
// 붙여넣기 감지 (sitelink1)
function handlePasteLink(e){
var paste = (e.clipboardData || window.clipboardData).getData('text');
if (!isYouTubeUrl(paste)) {
e.preventDefault();
sitelinkInput.value = ''; // URL 아니면 비움
}
}
// 제목 체크
function checkSubject(){
if (isYouTubeUrl(subjectInput.value)) {
subjectInput.value = ''; // URL 있으면 비움
}
}
// 자동 제출
function tryAutoSubmit(){
checkSubject(); // 제목 URL 제거
if (subjectInput.value && sitelinkInput.value && isYouTubeUrl(sitelinkInput.value)) {
if (submitTimer) clearTimeout(submitTimer);
submitTimer = setTimeout(function(){
form.submit();
}, 1000);
}
}
function init(){
form = document.forms['write'];
subjectInput = form.subject;
sitelinkInput = form.sitelink1;
// 이벤트 등록
subjectInput.addEventListener('input', tryAutoSubmit);
sitelinkInput.addEventListener('input', tryAutoSubmit);
sitelinkInput.addEventListener('paste', handlePasteLink);
}
if (document.readyState === "complete") init();
else window.addEventListener('load', init);
})();
</script>[/code]✅ 동작 요약
1. 제목에 URL 들어가면 제목 자동 비움
2. sitelink1에 유튜브 URL 아니면 자동 비움
3. 둘 다 채워져 있을 때만 1초 후 자동 제출
4. 경고창 없음
5. 붙여넣기 후 일반 텍스트나 URL이 아닌 내용도 자동 제거 처리됨
2. sitelink1에 유튜브 URL이 아니면 → sitelink1 비움
3. 둘 다 채워져야만 → 1초 후 자동 제출
4. 경고창 없음[code]<script type="text/javascript">
(function(){
var form, subjectInput, sitelinkInput;
var submitTimer = null;
// 유튜브 URL만 허용
function isYouTubeUrl(url) {
url = url.trim();
return /^(https?:\/\/)(www\.)?(youtube\.com\/(watch\?v=|embed\/|shorts\/)|youtu\.be\/|youtube-nocookie\.com\/embed\/)/i.test(url);
}
// 텍스트에서 유튜브 URL 제거 (제목용)
function removeYouTubeUrl(text) {
return text.replace(/https?:\/\/(www\.)?(youtube\.com\/(watch\?v=|embed\/|shorts\/)|youtu\.be\/|youtube-nocookie\.com\/embed\/)[^\s]*/gi, '').trim();
}
// 붙여넣기 감지 (sitelink1)
function handlePasteLink(e){
var paste = (e.clipboardData || window.clipboardData).getData('text');
if (!isYouTubeUrl(paste)) {
e.preventDefault();
sitelinkInput.value = ''; // URL 아니면 비움
}
}
// 제목 체크
function checkSubject(){
if (isYouTubeUrl(subjectInput.value)) {
subjectInput.value = ''; // URL 있으면 비움
}
}
// 자동 제출
function tryAutoSubmit(){
checkSubject(); // 제목 URL 제거
if (subjectInput.value && sitelinkInput.value && isYouTubeUrl(sitelinkInput.value)) {
if (submitTimer) clearTimeout(submitTimer);
submitTimer = setTimeout(function(){
form.submit();
}, 1000);
}
}
function init(){
form = document.forms['write'];
subjectInput = form.subject;
sitelinkInput = form.sitelink1;
// 이벤트 등록
subjectInput.addEventListener('input', tryAutoSubmit);
sitelinkInput.addEventListener('input', tryAutoSubmit);
sitelinkInput.addEventListener('paste', handlePasteLink);
}
if (document.readyState === "complete") init();
else window.addEventListener('load', init);
})();
</script>[/code]✅ 동작 요약
1. 제목에 URL 들어가면 제목 자동 비움
2. sitelink1에 유튜브 URL 아니면 자동 비움
3. 둘 다 채워져 있을 때만 1초 후 자동 제출
4. 경고창 없음
5. 붙여넣기 후 일반 텍스트나 URL이 아닌 내용도 자동 제거 처리됨
댓글목록
등록된 댓글이 없습니다.
![]() ![]() |