不允许使用中文输入法,同时屏蔽剪切板中黏贴中文的操作。
<input style="ime-mode:disabled" οndragenter="return false" οnpaste="return!clipboardData.getData('text').match(/[^/x00-/xff]/)">
1.判断文本为英文,数字和汉字
var reg = /^(/w|[/u4E00-/u9FA5])*$/;
if(arr=username.match(reg))
{
ti=1;
return ture;
}
else
{
alert("用户名只允许为英文,数字和汉字的混合,/n请检查是否前后有空格或者其他符号");
ti=0;
return false;
}
2.利用正则表达式限制网页表单里的文本框输入内容:
用正则表达式限制只能输入中文:οnkeyup="value=value.replace(/[^/u4E00-/u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/u4E00-/u9FA5]/g,''))"
用正则表达式限制只能输入全角字符: οnkeyup="value=value.replace(/[^/uFF00-/uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/uFF00-/uFFFF]/g,''))"
用正则表达式限制只能输入数字:οnkeyup="value=value.replace(/[^/d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))"
用正则表达式限制只能输入数字和英文:οnkeyup="value=value.replace(/[/W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))"
数字
<script>
function check()
{
if(!isNaN(document.all.form.str.value))
{
alert("数字");
}
</script>
字母
<script>
function check()
{
var str = /[a-zA-Z]/;
if(str.test(document.all.form.str.value))
{
alert("字母");
}
}
</script>
<form name="form" action="" οnsubmit="return check();">
<input type=text name=str>
<input type=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() {
return this.replace(/(^/s*)|(/s*$)/g, "");
}
/*** 统计指定字符出现的次数 ***/
String.prototype.Occurs = function(ch) {
// var re = eval("/[^"+ch+"]/g");
// return this.replace(re, "").length;
return this.split(ch).length-1;
}
/*** 检查是否由数字组成 ***/
String.prototype.isDigit = function() {
var s = this.Trim();
return (s.replace(//d/g, "").length == 0);
}
/*** 检查是否由数字字母和下划线组成 ***/
String.prototype.isAlpha = function() {
return (this.replace(//w/g, "").length == 0);
}
/*** 检查是否为数 ***/
String.prototype.isNumber = function() {
var s = this.Trim();
return (s.search(/^[+-]?[0-9.]*$/) >= 0);
}
/*** 返回字节数 ***/
String.prototype.lenb = function() {
return this.replace(/[^/x00-/xff]/g,"**").length;
}
/*** 检查是否包含汉字 ***/
String.prototype.isInChinese = function() {
return (this.length != this.replace(/[^/x00-/xff]/g,"**").length);
}
/*** 简单的email检查 ***/
String.prototype.isEmail = function() {
var strr;
var mail = this;
var re = /(/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() {
var p;
var re1 = /(/d{4})[年./-](/d{1,2})[月./-](/d{1,2})[日]?$/;
var re2 = /(/d{1,2})[月./-](/d{1,2})[日./-](/d{2})[年]?$/;
var re3 = /(/d{1,2})[月./-](/d{1,2})[日./-](/d{4})[年]?$/;
if(re1.test(this)) {
p = re1.exec(this);
return new Date(p[1],p[2],p[3]);
}
if(re2.test(this)) {
p = re2.exec(this);
return new Date(p[3],p[1],p[2]);
}
if(re3.test(this)) {
p = re3.exec(this);
return new Date(p[3],p[1],p[2]);
}
return false;
}
/*** 检查是否有列表中的字符字符 ***/
String.prototype.isInList = function(list) {
var re = eval("/["+list+"]/");
return re.test(this);
}