js驗證文本框內(nèi)容,以前vevb.com提供過不少是基于js函數(shù)版本的,這里提供一些正則表達式版本,大家學習歸學習,最好是基于函數(shù)的綁定操作。代碼分離技術(shù)。
1,不能為空
<input type="text" onblur="if(this.value.replace(/^ +| +$/g,'')=='')alert('不能為空!')">
2,只能輸入英文和數(shù)字
<input onblur="if(/[^0-9a-zA-Z]/g.test(value))alert('有錯')">
<input onkeyup="value=value.replace(/[^0-9a-zA-Z]/g,'')"/>
<input type="text" onkeyup="value=value.replace(/[^/a-/z/A-/Z0-9]/g,'')">
3,判斷字符由字母和數(shù)字,下劃線,點號組成.且開頭的只能是下劃線和字母
/^([a-zA-z_]{1})([/w]*)$/g.test(str)
4,只能輸入數(shù)字
<input name="text" type="text" id="NewPage" onKeyUp="value=value.replace(//D/g,'')" onafterpaste="value=value.replace(//D/g,'')" >
5,只能輸入中文
<input type="text" onkeyup="value=value.replace(/[^/u4E00-/u9FA5]/g,'')">
6,只能輸入英文
<input type="text" onkeyup="value=value.replace(/[^/a-/z/A-/Z]/g,'')">
<input type="text" onkeyup="value=value.replace(/[^a-zA-Z]/g,'')">
7,只能輸入中文、英文、數(shù)字、@符號和.符號
<input type="text" onkeyup="value=value.replace(/[^/a-/z/A-/Z0-9/u4E00-/u9FA5/@/.]/g,'')">
8,只允許輸入英文,且不能粘貼也無法彈出粘貼菜單
<input type="text" onkeyup="value=value.replace(/[^/a-/z/A-/Z]/g,'')" onkeydown="fncKeyStop(event)" onpaste="return false" oncontextmenu = "return false"/>
只能輸入數(shù)字和點號(注意:在[^/d/.]里的d不能寫成大寫D,否則就變成除了數(shù)字以外的所有字符)
<input name="price" type="text" size="8" maxlength="8" onkeyup="value=value.replace(/[^/d/.]/g,'')" >
總而言之:先在<input>里輸入onkeyup="value=value.replace(/[^/X]/g,'')" 然后在(/[/X]/g,'')里的X換成你想輸入的代碼就可以了
中文:u4E00-u9FA5
數(shù)字:d、0-9
英文:a-z、A-Z
其它符號@,點或其它符號.也可以多個,用/隔開就行了.
例如:
中、英文和數(shù)字加@符號加點符號:/a-/z/A-/Z0-9/u4E00-/u9FA5/@/.
若想在文本框里不能右鍵彈出菜單和不能粘貼進復(fù)制的信息的話就要在<input>里輸入 onKeyDown="fncKeyStop(event)" onpaste="return false" oncontextmenu="return false;"