2010-06-24 155 views
0

我想輸入窗體的驗證,但是當我調試我的代碼時,調試器給我一個不兼容類型的錯誤。我的代碼如下。不兼容類型

if(frm.input.value<'a' || frm.input.value>'z' || frm.input.value!='@' && frm.input.value!='.') 
{ 

    alert("Not a valid E-mail adress"); 
} 
+0

這段代碼有很多問題。要開始,我建議閱讀[布爾邏輯](http://www.quirksmode.org/js/boolean.html)。之後,我很清楚,我會建議閱讀[字符串](http://www.quirksmode.org/js/strings.html),最後但並非最不重要的是[DOM](http://www.quirksmode。組織/ DOM/intro.html)。 – 2010-06-24 14:18:44

回答

0

這並不是真的很適合跨瀏覽器。你應該給你的輸入元素一個id。那麼你可以這樣做:

value = document.getElementById('myId').value; 
if(value < 'a' || value > 'z' || value != '@' && value != '.'){ 
} 

也可能想檢查這種情況。你是否在某處丟失了括號?

1

那些if檢查整個輸入字符串,而不是單個字符。另外我不確定Javascript是否讓你比人物角色做的更少或更多,但我必須檢查它是否可以讓你。

如果您試圖驗證電子郵件地址,您的最佳解決方案可能會使用正則表達式。

如果你想這樣做,你將不得不循環frm.input.value的每個字符來執行緩慢的檢查,而不是一個很好的方法。

+1

你絕對可以,例如: var x ='a'; console.log(x <'b'); – 2010-06-24 14:18:36