2013-08-30 2 views
-4

그래서 나는 이것을 발견하고 잘 작동하는 것으로 보이며 매우 도움이된다. "! = -1"코드가 무엇인지 알아야합니다. 그것없이 코드가 작동하지 않는 것 같습니다. 문자열이 발견되지자바 스크립트 코드는 무엇을합니까! = -1?

<html> 
<head> 
<script language="javascript"> 

function validate_input(data){ 
    var iChars = "[email protected]#$%^&*()+=-[]\\;,./{}|:<>?~_"; /* characters not allowed */ 
    for (var i = 0; i < data.length; i++) { 
    if (iChars.indexOf(data.charAt(i)) != -1) { 
     alert ("Your filename has special characters. \nThese are not allowed."); 
    return false; 
    } 
    } 
    if(data.length < 1){ 
    alert("File Name is required"); 
    return false; 
    } 

} 

</script> 

</head> 

<body> 
<form action="#" method="Get" onSubmit="return validate_input(document.getElementById('filename').value);"> 
<input type="text" id="filename" name="filename"> 
<input type="submit"> 
</form> 
</body> 
</html> 
+2

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf –

+2

'.indexOf()'의 결과가' -1 ', 어. 'String.indexOf' 문서를 읽으십시오. – deceze

+0

상태가 -1이 아닌 경우. – Sasidharan

답변

1

indexOf 반환 -1.

간단히 말해서 iChars 문자가 있는지 확인합니다.

+0

답변 해 주셔서 감사합니다! 그렇다면 "! = -1"은 "찾을 수 없습니다"를 나타냅니다. 왜냐하면 == 만 사용하면 다른 숫자로 응답해야하기 때문에 원하는 것보다 원하는 것을 알기 쉽습니다. – user2702889

0

그것은 "하지 -1 같음"을 의미합니다. 그리고 귀하의 경우 전체 상태가 의 문자가 특수 문자인지 확인합니다. 함수 indexOf은 해당 배열에 해당 항목이 없으면 -1을 반환합니다.

0

문자열이 객체에서 발견되지 않으면 IndexOf는 -1을 반환합니다.