2016-06-24 4 views
0

자바 스크립트에 익숙하지 않으므로 양식 학습을 시작했습니다. 친절하게 코드를 살펴보고 제안하십시오.기본 입력란 자바 스크립트의 유효성 검사

첫 번째 필드의 유효성을 검사하려고하는데 숫자가 아닌 문자열 만 포함해야하며 영숫자도 포함하면 안됩니다. 그러나 영문자를 입력하면 경고 메시지 창이 표시되지 않습니다. 친절하게 조언하십시오.

function checkFields() 
{ 
    var tname = document.getElementById("t0_name").value; 
    var texpense = document.getElementById("t1_expense").value; 
    var tdate = document.getElementById("t2_date").value; 
    var tamt = document.getElementById("t3_amt").value; 
    var tstatus = document.getElementById("t4_status").value; 
    var temail = document.getElementById("t5_email").value; 
    var alphanumeric = /[^a-zA-Z0-9]/; 
    if (tname == null || tname == "") { 
     document.getElementById("t0_name").style.border = "1px solid black"; 
     alert('should not be blank'); 
    } else if (!isNaN(tname)) { 
     alert('Should not be Numeric'); 
     document.getElementById("t0_name").style.border = "1px solid red"; 
    } else if (/[^a-zA-Z0-9]/.test(tname)) { 
     alert('Input is not alphanumeric'); 
    } 
} 

감사 발 카르는

+1

"알파벳 숫자"는 사실상 모든 문자 (* 알파벳 * 및 * 숫자 *)를 포함하므로 ... * 포함해야 할 내용 *! – deceze

+0

조건은 입력 필드가 숫자 만 허용하고 숫자는 허용하지 않아야한다는 것입니다. –

+2

그래서 A-Z 문자 만 허용 하시겠습니까? "알파 숫자"는 일이 아닙니다. 단지 * 숫자 *입니다. – deceze

답변

0

당신은 문자와 즉 문자와 숫자 숫자되지 확인하려면 다음 정규식을 사용할 수 있습니다.

/^[a-zA-Z]+$/.test('Abc') // true 

/^[a-zA-Z]+$/.test('a1') // false 

정규식에서 0-9의 숫자를 지정 했으므로 영숫자로 true를 반환합니다.

또한 \ D 즉 비 자리

/^[\D]+$/.test('A') 

를 사용할 수있는 +를 $ 하나 개 이상의 문자 전에 서명합니다.

-1

var 영숫자 =/[^ a-zA-Z] /; done ... thanks

관련 문제