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가 뜨도록 하고싶습니다.
고수님들의 의견 부탁드립니다.
|
댓글을 작성하시려면 로그인이 필요합니다.
로그인
댓글 3개
}
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.몇초 빠를껍니다.