2012-07-04 4 views
1

사용자가 의견을 입력 할 수있는 텍스트 상자가 있습니다. 주석은 영문자 (소문자 또는 대문자) 또는 숫자 또는 @ 또는 세미콜론 또는 콜론, 마침표 또는 쉼표 또는 $ 또는 슬래시 또는 공백 또는 - 또는 _의 조합 일 수 있습니다. 다음 함수를 사용하여 시도했지만 $ 또는 공백 또는 - 또는 _ 테스트하지 않습니다. 이 자바 스크립트 함수에도 어떻게 포함시킬 수 있습니까? 빈 문자열을 입력 할 수도 있습니다.특정 문자 만 허용하는 자바 스크립트?

function alphanumeric(inputtxt) 
{ 
    var letters = /^[0-9a-zA-Z]+$/; 
    if(inputtxt.value.match(letters)) 
    { 
    alert('Your registration number have accepted : you can try another'); 
    document.form1.text1.focus(); 
    return true; 
    } 
    else 
    { 
    alert('Please input alphanumeric characters only'); 
    return false; 
    } 
} 

답변은 (xdazz의 도움으로 제공) 아래 :

function alphanumeric(inputtxt) 
{ 
    var letters = /^[\w\d\[email protected];:.,-/$/]*$/; 
    if(inputtxt.value.match(letters)) 
    { 
    alert('Your registration number have accepted : you can try another'); 
    document.form1.text1.focus(); 
    return true; 
    } 
    else 
    { 
    alert('Please input alphanumeric characters only'); 
    return false; 
    } 
} 
+0

당신은 ... 나는 시도 –

+0

을도가 그 상징 할 수 있도록 노력 나타나지 않습니다 @ 세미콜론 또는 콜론 또는 마침표 나 쉼표, 그들이 일을하지만, 나는 $ 포함 할 때이를 던졌습니다 자바 스크립트 오류. – Sunil

+0

무엇이 오류입니까? 어떤 원인으로 오류가 발생합니까? 입력을 기술하지 * 말라. * 표시 *. –

답변

6

아래의 정규식을 사용해보십시오.

var letters = /^[\w\d\[email protected];.,-/]+$/; 
+1

잘못되었으므로'-'는 이스케이프해야합니다. –

+0

@Kolink' "-". matches (letters)'는'[ "-"]'를줍니다. – xdazz

+0

@xdazz - 표현식이 $ 기호 또는 빈 문자열을 허용하지 않습니다. – Sunil

관련 문제