골

input 에 하이픈(-) 꼭 포함시키는 방법 문의드립니다.

· 2008-04-15 (화) 19:20:42 · 1159 · 3
현재 자바스크립트로 input 박스에 아래 스크립트와 같이 영문과 숫자만 입력받도록 하고있습니다.

function goldnum1(field) {
var valid = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-0123456789"
var ok = "yes";
var temp;
for (var i=0; i<field.value.length; i++) {
temp = "" + field.value.substring(i, i+1);
if (valid.indexOf(temp) == "-1") ok = "no";
}
if (ok == "no") {
alert("영문 및 숫자와 하이픈(-)만 입력할 수 있습니다.");
field.focus();
field.select();
}
}


그런데 여기에 하이픈(-)가 꼭 하나이상 포함되지 않으면 alert가 뜨도록 하고싶습니다.

고수님들의 의견 부탁드립니다.
|

댓글 3개

2008-04-15 (화) 20:24:47
if (valid.indexOf(temp) == "-1") ok = "no";
}
if (ok == "no") {

==>

if (valid.indexOf(temp) == "-1") ok = "no";
}
if (field.indexOf('-') == "-1") ok = "no";
if (ok == "no") {
오류가 나네요 ^^;;;죄송한데 다시한번 부탁드려도 될까요?
2008-04-15 (화) 22:10:56
이런 방법도 있습니다.
function goldnum1(field) {
var valid = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-0123456789"
var ok = "yes";
var temp;
var hip_cnt=0;
for (var i=0; i<field.value.length; i++) {
if(field.value[i]=="-") hip_cnt++;
temp = "" + field.value.substring(i, i+1);
if (valid.indexOf(temp) == "-1") ok = "no";
}
if (ok == "no") {
alert("영문 및 숫자와 하이픈(-)만 입력할 수 있습니다.");
field.focus();
field.select();
}
else if(hip_cnt<=0) {
alert("하이픈(-)은 하나이상 입력하셔야 합니다.");
field.focus();
field.select();
}
}

때로는 구식이 정규식보다 0.몇초 빠를껍니다.
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

66,531건

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
08-04-16 조회 1,085
08-04-16 조회 1,626
08-04-16 조회 1,300
08-04-16 조회 887
08-04-16 조회 845
08-04-16 조회 913
08-04-16 조회 865
08-04-16 조회 887
08-04-16 조회 1,077
08-04-16 조회 1,041
08-04-16 조회 1,631
08-04-16 조회 1,504
08-04-16 조회 1,185
08-04-15 조회 1,647
08-04-15 조회 1,052
08-04-15 조회 1,042
08-04-15 조회 1,566
08-04-15 조회 1,645
08-04-15 조회 1,160
08-04-15 조회 1,633