chenqiangdage 2012-11-27
1.用户名只允许为英文,数字和汉字的混合
varreg=/^(\w|[\u4E00-\u9FA5])*$/;
if(arr=username.match(reg))
{
ti=1;
returnture;
}
else
{
alert("用户名只允许为英文,数字和汉字的混合,\n请检查是否前后有空格或者其他符号");
ti=0;
returnfalse;
}
2.利用正则表达式限制网页表单里的文本框输入内容:
用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"
用正则表达式限制只能输入全角字符:onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))"
用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^\d]/g,'')"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[\W]/g,'')"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
数字
<script>
functioncheck()
{
if(!isNaN(document.all.form.str.value))
{
alert("数字");
}
</script>
字母
<script>
functioncheck()
{
varstr=/[_a-zA-Z]/;
if(str.test(document.all.form.str.value))
{
alert("字母");
}
}
</script>
<formname="form"action=""onsubmit="returncheck();">
<inputtype=textname=str>
<inputtype=submit>
<form>
--------------------------------------------------------------------------------
/^[0-9a-zA-Z]+$/
--------------------------------------------------------------------------------
/**
*一些常用的javascript函数(方法)
*
*为便于使用,均书写成String对象的方法
*把他保存为.js文件,可方便的扩展字符串对象的功能
*
*方法名功能
*-------------------------------------------
*Trim删除首位空格
*Occurs统计指定字符出现的次数
*isDigit检查是否由数字组成
*isAlpha检查是否由数字字母和下划线组成
*isNumber检查是否为数
*lenb返回字节数
*isInChinese检查是否包含汉字
*isEmail简单的email检查
*isDate简单的日期检查,成功返回日期对象
*isInList检查是否有列表中的字符字符
*isInList检查是否有列表中的字符字符
*/
/***删除首尾空格***/
String.prototype.Trim=function(){
returnthis.replace(/(^\s*)|(\s*$)/g,"");
}
/***统计指定字符出现的次数***/
String.prototype.Occurs=function(ch){
//varre=eval("/[^"+ch+"]/g");
//returnthis.replace(re,"").length;
returnthis.split(ch).length-1;
}
/***检查是否由数字组成***/
String.prototype.isDigit=function(){
vars=this.Trim();
return(s.replace(/\d/g,"").length==0);
}
/***检查是否由数字字母和下划线组成***/
String.prototype.isAlpha=function(){
return(this.replace(/\w/g,"").length==0);
}
/***检查是否为数***/
String.prototype.isNumber=function(){
vars=this.Trim();
return(s.search(/^[+-]?[0-9.]*$/)>=0);
}
/***返回字节数***/
String.prototype.lenb=function(){
returnthis.replace(/[^\x00-\xff]/g,"**").length;
}
/***检查是否包含汉字***/
String.prototype.isInChinese=function(){
return(this.length!=this.replace(/[^\x00-\xff]/g,"**").length);
}
/***简单的email检查***/
String.prototype.isEmail=function(){
varstrr;
varmail=this;
varre=/(\w+@\w+\.\w+)(\.{0,1}\w*)(\.{0,1}\w*)/i;
re.exec(mail);
if(RegExp.$3!=""&&RegExp.$3!="."&&RegExp.$2!=".")
strr=RegExp.$1+RegExp.$2+RegExp.$3;
else
if(RegExp.$2!=""&&RegExp.$2!=".")
strr=RegExp.$1+RegExp.$2;
else
strr=RegExp.$1;
return(strr==mail);
}
/***简单的日期检查,成功返回日期对象***/
String.prototype.isDate=function(){
varp;
varre1=/(\d{4})[年./-](\d{1,2})[月./-](\d{1,2})[日]?$/;
varre2=/(\d{1,2})[月./-](\d{1,2})[日./-](\d{2})[年]?$/;
varre3=/(\d{1,2})[月./-](\d{1,2})[日./-](\d{4})[年]?$/;
if(re1.test(this)){
p=re1.exec(this);
returnnewDate(p[1],p[2],p[3]);
}
if(re2.test(this)){
p=re2.exec(this);
returnnewDate(p[3],p[1],p[2]);
}
if(re3.test(this)){
p=re3.exec(this);
returnnewDate(p[3],p[1],p[2]);
}
returnfalse;
}
/***检查是否有列表中的字符字符***/
String.prototype.isInList=function(list){
varre=eval("/["+list+"]/");
returnre.test(this);
}
js正则表达式限制文本框只能输入数字,小数点,英文字母,汉字等各类代码
1.文本框只能输入数字代码(小数点也不能输入)
<inputonkeyup="this.value=this.value.replace(/\D/g,'')"onafterpaste="this.value=this.value.replace(/\D/g,'')">
2.只能输入数字,能输小数点.
<inputonkeyup="if(isNaN(value))execCommand('undo')"onafterpaste="if(isNaN(value))execCommand('undo')">
<inputname=txt1onchange="if(/\D/.test(this.value)){alert('只能输入数字');this.value='';}">
3.数字和小数点方法二
<inputtype=texttvalue=""ovalue=""onkeypress="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;elsethis.tvalue=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.ovalue=this.value"onkeyup="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;elsethis.tvalue=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.ovalue=this.value"onblur="if(!this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?|\.\d*?)?$/))this.value=this.o_value;else{if(this.value.match(/^\.\d+$/))this.value=0+this.value;if(this.value.match(/^\.$/))this.value=0;this.ovalue=this.value}">
4.只能输入字母和汉字
<inputonkeyup="value=value.replace(/[\d]/g,'')"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[\d]/g,''))"maxlength=10name="Numbers">
5.只能输入英文字母和数字,不能输入中文
<inputonkeyup="value=value.replace(/[^\w\.\/]/ig,'')">
6.只能输入数字和英文<fontcolor="Red">chun</font>
<inputonKeyUp="value=value.replace(/[^\d|chun]/g,'')">
7.小数点后只能有最多两位(数字,中文都可输入),不能输入字母和运算符号:
<inputonKeyPress="if((event.keyCode<48||event.keyCode>57)&&event.keyCode!=46||/\.\d\d$/.test(value))event.returnValue=false">
8.小数点后只能有最多两位(数字,字母,中文都可输入),可以输入运算符号:
<inputonkeyup="this.value=this.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')">
————————————————————————————————————————
只能输入汉字:
<inputonkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))">
只能输入数字:
<inputonkeyup="value=value.replace(/[^\d]/g,'')"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">
只能输入英文和数字:
<inputonkeyup="value=value.replace(/[\W]/g,'')"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">
控制输入框只能输入文字或数字,也可以不允许输入特殊字符
这里不允许输入如下字符:(像!@#$%^&*等)<br>
<textarearows=2cols=20name=commentsonKeypress="if((event.keyCode>32&&event.keyCode<48)||(event.keyCode>57&&event.keyCode<65)||(event.keyCode>90&&event.keyCode<97))event.returnValue=false;">
只禁止空格输入
onkeyup="value=value.replace(/\s/g,'')"
只能输入中文和英文:
onkeyup="value=value.replace(/[^\a-zA-Z\u4E00-\u9FA5]/g,'')"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\a-zA-Z\u4E00-\u9FA5]/g,''))"