게시판 작성자 한글로만 쓸 수 있게
본문
스팸이 워낙 많이 들어와서 그러는데 작성자를 한글로만 작성하게 할 수 있나요?
<input type="text" name="wr_name" value="<?php echo $name ?>" id="wr_name" required class="frm_input half_input required" placeholder="이름">
!-->
답변 5
<input type="text" name="wr_name" id="wr_name" required class="frm_input half_input required" placeholder="이름">
<script>
document.getElementById('wr_name').addEventListener('input', function() {
var nameValue = this.value;
var isKorean = /^[가-힣]+$/.test(nameValue);
if (!isKorean) {
alert('한글로만 작성해주세요.');
this.value = ''; // 입력 필드를 비워도록 설정
}
});
</script>
class="frm_input half_input required hangul"
클래스에 hangul 추가하세요
<input type="text" name="wr_name" value="<?php echo $name ?>" id="wr_name" required class="only_kor frm_input half_input required" placeholder="이름">
$(function(){
$(".only_kor").keyup(function (event) {
regexp = /[a-z0-9]|[ \[\]{}()<>?|`~!@#$%^&*-_+=,.;:\"'\\]/g;
v = $(this).val();
if (regexp.test(v)) {
alert("한글만 입력가능 합니다.");
$(this).val(v.replace(regexp, ''));
}
});
});
이런식으로 하시면 가능합니다.
!-->이렇게도 한번 해보세요~
1, Javascript 사용
document.getElementById('wr_name').addEventListener('input', function() {
var regex = /^[가-힣]+$/;
if (!regex.test(this.value)) {
this.value = '';
alert('이름은 한글만 입력할 수 있습니다.');
}
});
2. 넘어온 값을 체크
if (!preg_match('/^[가-힣]+$/', $_POST['wr_name'])) {
// 에러 처리
}
<?php
function is_korean($str) {
$regexp_korean = '/^[\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{A960}-\x{A97F}\x{D7B0}-\x{D7FF}\x{AC00}-\x{D7AF}]+$/u';
return preg_match($regexp_korean, $str) === 1;
}
$wr_name = isset($_REQUEST['wr_name']) ? $_REQUEST['wr_name'] : '';
if (is_korean($wr_name) == false) {
// failure
} else {
// success
}
?>
답변을 작성하시기 전에 로그인 해주세요.