2010-09-02 98 views
3

我有一個文本框用於輸入一些序列號code.i要設置此代碼顯示警告如果有人使用spase。這意味着空間不被允許,只允許使用減號來分開這個代碼。你有任何想法來解決這個問題嗎?我可以使用jquery驗證嗎?如何防止在輸入時使用空格?

the correct typing: 
135x0001-135x0100 
+0

請更清楚地重申你的問題。 – polemon 2010-09-02 02:17:56

回答

18

爲了防止您的輸入元素的空間,你可以這樣做使用jQuery:

例子:http://jsfiddle.net/AQxhT/

​$('input').keypress(function(e) { 
    if(e.which === 32) 
     return false; 
})​​​​​;​ 

$('input').keypress(function(e) {  
    if(!/[0-9a-zA-Z-]/.test(String.fromCharCode(e.which))) 
     return false; 
});​ 
+0

如何讓此代碼只允許使用「 - 」,如果用戶使用「@」,則不允許使用「&」,「+」等。 – klox 2010-09-02 02:27:08

+0

@klox - 不確定你的意思。你想要允許哪些字符,或者你想防止哪些字符? – user113716 2010-09-02 02:29:27

+0

我的意思是可以使用的字符是「 - 」。而不應該使用的是「@」,「&」,「+」。 – klox 2010-09-02 02:32:26

13

簡短而親切的jQuery不依賴

function nospaces(t){ 
    if(t.value.match(/\s/g)){ 
    t.value=t.value.replace(/\s/g,''); 
    } 
} 

的HTML

<input type="text" name ="textbox" id="textbox" onkeyup="nospaces(this)"> 
+0

這應該是最好的答案! – JohnA10 2017-11-26 16:42:31

0
$('.noSpace').keyup(function() { 
this.value = this.value.replace(/\s/g,''); 
}); 

<input type="text" name ="textbox" class="noSpace" /> 
相關問題