代码示例:
οnkeyup="value=value.replace(/[^a-zA-Z]/g,'')"
解释:
replace(/[^a-zA-Z]/g,'')"
其中有 ^ 为逻辑词“非”,然后后面跟着a-zA-Z指的是英文字母大小写范围,“/g”表示全局替换,用后面的''中的字符,当前是空!
此句代码的含义为:在文本框中只能输入大写或小写字母,如果不是,则自动删除。
按键抬起来时验证
实际用法:
<input οnkeyup="value=value.replace(/[^a-zA-Z]/g,'')" ………………
实例:
只能输入英文字母
οnkeyup="value=value.replace(/[^a-zA-Z]/g,'')"
只能输入英文和数字
οnkeyup="value=value.replace(/[^0-9a-zA-Z]/g,'')" οnkeyup="value=value.replace(/[\W]/g,'')" 猜想:这里的 \W 代表的可能就是非字母和数字项
只能输入中文
<SCRIPT> function onlychinese() { if ((window.event.keyCode >=32) && (window.event.keyCode <= 126)) { window.event.keyCode = 0 ; } } </SCRIPT> <INPUT οnkeypress="onlychinese() " ………… 只能输入中文和*号 <SCRIPT> function onlychinese() { if (((window.event.keyCode >=32) && (window.event.keyCode <= 41)) || ((window.event.keyCode >= 43) && (window.event.keyCode <= 126))) { window.event.keyCode = 0 ; } } </SCRIPT> <input οnkeypress="onlychinese()" …………
只能输入数字和x(用于身份证号的输入)
onKeyUp="value=value.replace(/[^\d|x]/g,'')" 猜想:这里的 | 后面的就是可以排除的非数字,可是一个范围 如:onKeyUp="value=value.replace(/[^\d|x-z]/g,'')" 则可以在文本框里面输入xyz字母,这里还区分大小写!
只能输入数字
onKeyUp="value=value.replace(/[^\d]/g,'')" 猜想:这里的 \d 代表的可能就是数字
则是否可以想象为如果某些字符,则在[]中进行自定义:
如需要输入_+=等,则将代码改为
onKeyUp="value=value.replace(/[^_+=]/g,'')"
意思就是说如果输入的非这三个字符,则删除,如果后面的''中有东西,则用那个替换。
此种方法好似对即使使用复制方法粘贴的字符一样有效!
另外,下面为从网上搜索到的代码,没试过,自行检测:
1.文本框只能输入数字代码(小数点也不能输入)
<input οnkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">
2.只能输入数字,能输小数点.
<input οnkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')"> <input name=txt1 οnchange="if(/\D/.test(this.value)){alert('只能输入数字');this.value='';}">
3.只能输入字母和汉字
<input οnkeyup="value=value.replace(/[\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[\d]/g,''))" maxlength=10 name="Numbers">
5.只能输入英文字母和数字,不能输入中文
<input οnkeyup="value=value.replace(/[^\w\.\/]/ig,'')">
6.只能输入数字和英文<font color="Red">chun</font>
<input onKeyUp="value=value.replace(/[^\d|chun]/g,'')">
7.小数点后只能有最多两位(数字,中文都可输入),不能输入字母和运算符号:
<input onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false">
8.小数点后只能有最多两位(数字,字母,中文都可输入),可以输入运算符号:
<input οnkeyup="this.value=this.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')">
限制只输入12个字符长度的数字
if(form.name.value.length != 12) alert("长度12");
限制身份证输入和email输入两者中必有一个要必填的,不然就alert
if(form.cardno.value.trim().length == 0 && form.email.value.trim().lentth == 0) alert("必选一项");
限制文本框不能输入特殊字符,如:#@¥%~&*,etc...
//验证 字符串中是否包含特殊字符
function validateChar(str) {
var txt=new RegExp("[ ,//`,//~,//!,//@,/#,//$,//%,//^,//+,//*,//&,,///,//?,//|,//:,//.,//<,//>,//{,//},//(,//),//'',//;,//=]");
var txt2=new RegExp("[¥!……()——-【】?,。、;:-]");
if(txt.test(str))
return false;
else {
if(txt2.test(str))
return false;
return true;
}
}