input 에 하이픈(-) 꼭 포함시키는 방법 문의드립니다. 정보
input 에 하이픈(-) 꼭 포함시키는 방법 문의드립니다.본문
현재 자바스크립트로 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가 뜨도록 하고싶습니다.
고수님들의 의견 부탁드립니다.
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가 뜨도록 하고싶습니다.
고수님들의 의견 부탁드립니다.
댓글 전체
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") {
}
if (ok == "no") {
==>
if (valid.indexOf(temp) == "-1") ok = "no";
}
if (field.indexOf('-') == "-1") ok = "no";
if (ok == "no") {
오류가 나네요 ^^;;;죄송한데 다시한번 부탁드려도 될까요?
이런 방법도 있습니다.
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.몇초 빠를껍니다.
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.몇초 빠를껍니다.