js判断是不是为中文,数字,身份证等函数 js表单验证大全

js判断是否为中文,数字,身份证等函数 js表单验证大全
/*
判断指定的内容是否为空,若为空则弹出 警告框
*/
function isEmpty(theValue, strMsg){
if(theValue==”"){
alert(strMsg+”不能为空!”);
return true;
}
return false;
}
/*
中文判断函数,允许生僻字用英文“*”代替
返回true表示是符合条件,返回false表示不符合
*/
function isChinese(str){
var badChar =”ABCDEFGHIJKLMNOPQRSTUVWXYZ”;
badChar += “abcdefghijklmnopqrstuvwxyz”;
badChar += “0123456789″;
badChar += ” “+” ”;//半角与全角空格
badChar += “`~!@#$%^&()-_=+]\\|:;\”\\’<,>?/”;//不包含*或.的英文符号
if(“”==str){
return false;
}
for(var i=0;i var c = str.charAt(i);//字符串str中的字符
if(badChar.indexOf(c) > -1){
return false;
}
}
return true;
}
/*
数字判断函数,返回true表示是全部数字,返回false表示不全部是数字
*/
function isNumber(str){
if(“”==str){
return false;
}
var reg = /\D/;
return str.match(reg)==null;
}

/*
判断给定的字符串是否为指定长度的数字
是返回true,不是返回false
*/
function isNumber_Ex(str,len){
if(“”==str){
return false;
}

if(str.length!=len){
return false;
}

if(!isNumber(str)){
return false;
}
return true;
}

/*
money判断函数,允许第一位为”-”来表示欠钱
返回true表示格式正确,返回false表示格式错误
*/
function isMoney(str){
if(“”==str){
return false;
}
for(var i=0;i var c = str.charAt(i);
if(i==0){
if(c!=”-”&&(c<”0″||c>”9″)){
return false;
}else if(c==”-”&&str.length==1){
return false;
}
}else if(c < “0″ || c > “9″){
return false;
}
}
return true;
}
/*
英文判断函数,返回true表示是全部英文,返回false表示不全部是英文
*/
function isLetter(str){
if(“”==str){
return false;
}
for(var i=0;i var c = str.charAt(i);
if((c<”a”||c>”z”)&&(c<”A”||c>”Z”)){
return false;
}
}
return true;
}
/*
空格判断,当包含有空格返回false,当不包含一个空格返回true
“”不能被判断
*/
function notInSpace(str){
if(“”==str){
return false;
}
var badChar =” “;
badChar += “ ”;
for(var i=0;i var c = str.charAt(i);//字符串str中的字符
if(badChar.indexOf(c) > -1){
return false;
}
}
return true;
}
/*
发票号判断函数,返回true表示是发票号,返回false表示不符合规范
*/
function isFPH(str){
if(“”==str){
return false;
}
for(var i=0;i var c = str.charAt(i);
if((c < “0″ || c > “9″) && (c!=”-”)&&(c!=”,”)){
return false;
}
}
return true;
}
/*
电话判断函数,允许“数字”、“;”、“-”、“(”、”)“,
true表示是电话号码
*/
function isTelephone(str){
var trueChar = “()-;1234567890″;
if(“”==str){
return false;
}
for(var i=0;i var c = str.charAt(i);//字符串str中的字符
if(trueChar.indexOf(c) == -1) return false;
}
return true;
}
/**
学制可以为1-7,也可以为3.5这种形式,不能超过7年或者低于1年
*/
function isXZ(str){
if(“”==str){
return false;
}
var reg = /^[1-6](\.5)?$/;
var r = str.match(reg);
if(null!=r){
return true;
}else{
if(str==”7″){
return true;
}else{
return false;
}
}
}

/*
判断证书编号是否符合要求,证书编号包含中文、数字、大小写字母、(、)、-
是返回true,不是返回false
*/
function isZSBH(str){
if(“”==str){
return false;
}
for(var i=0;i var c = str.charAt(i);
alpha = “ABCDEFGHIJKLMNOPQRSTUVWXYZ”;
alpha += “abcdefghijklmnopqrstuvwxyz”;
alpha += “()-”;
if(!isChinese(c)&&!isNumber(c)&&alpha.indexOf(c)==-1){
return false;
}
}
return true;
}

/*
身份证判断函数,是返回true,不是返回false
15位数字,18位数字或者最后一位为X(大写)
*/
function isSFZ(str){
if(“”==str){
return false;
}
if(str.length!=15&&str.length!=18){//身份证长度不正确
return false;
}
if(str.length==15){
if(!isNumber(str)){
return false;
}
}else{
str1 = str.substring(0,17);
str2 = str.substring(17,18);
alpha = “X0123456789″;
if(!isNumber(str1)||alpha.indexOf(str2)==-1){
return false;
}
}
return true;
}
/*
得到今天的年,月,日
调用方法:today = new getToday(); 则today.year为今天的年以此类推
*/
function getToday(){
this.now = new Date();
this.year = this.now.getFullYear();
this.month = this.now.getMonth();
this.day = this.now.getDate();
}
js判断数字,字母,中文
1.

var reg = /^(\w|[\u4E00-\u9FA5])*$/;
if(arr=username.match(reg))
{
ti=1;
return ture;
}
else
{
alert(“用户名只允许为英文,数字和汉字的混合,\n请检查是否前后有空格或者其他符号”);
ti=0;
return false;
}
 
/*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,"))"*/

//数字
function check()
{
if(!isNaN(document.all.form.str.value))
{
alert('数字');
};


// 字母
function check()
{
var str = /[_a-zA-Z]/;
if(str.test(document.all.form.str.value))
{
alert('字母');
};

/**
 * 一些常用的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);
}

// 判断是否全是中文
function isChn(str){
var reg = /^[\u4E00-\u9FA5]+$/;
if(!reg.test(str)){
alert("不是中文");
return false;
}
alert("中文");
return true;
}

//通用JS验证(手机,电话,邮箱,QQ)2010-05-04 18:59// 定义邮箱,电话,手机,QQ,税友通验证标志
var email_Flag = false;
var phone_Flag = false;
var mobile_Flag = false;
var qq_Flag = false;
var syt_Flag = false;

// 验证是否为空
function verifyIsNull(info_span,str){
var flag = false;
if(str == ""){
info_span.innerHTML = "对不起,您输入的内容为空。";
flag = true;
}
return flag;
}

// 验证邮箱
function verfifyEmail(){
var strEmail = document.getElementById("email").value;
var email_info = document.getElementById("email_info");
if(verifyIsNull(email_info,strEmail)){
email_Flag = false;
return ;
}
var reg = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
email_Flag = reg.test(strEmail);
if(email_Flag){
email_info.innerHTML = "恭喜!邮箱地址输入正确。";
}else{
email_info.innerHTML = "对不起,您输入的邮箱地址格式错误。";
}
}

// 验证qq号码
function verifyQQ(){
var strQQ = document.getElementById("qq").value;
var qq_info = document.getElementById("qq_info");
if(verifyIsNull(qq_info,strQQ)){
qq_Flag = false;
return;
}
var reg = /^[1-9]\d{4,8}$/;
qq_Flag = reg.test(strQQ);
if(qq_Flag){
qq_info.innerHTML = "恭喜!QQ号码输入正确。";
}else{
qq_info.innerHTML = "对不起,您输入的QQ号码格式错误。";
}
}

// 验证电话号码
function verifyPhone(){
var strPhone = document.getElementById("phone").value;
var phone_info = document.getElementById("phone_info");
var reg = /^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/;
if(verifyIsNull(phone_info,strPhone)){
phone_Flag = false;
return ;
}    
phone_Flag = reg.test(strPhone);
if(phone_Flag){
phone_info.innerHTML = "恭喜!电话号码输入正确。";
}else{
phone_info.innerHTML = "对不起,您输入的电话号码格式错误。";
}
}

// 验证手机号码
function verifyMobile(){
	var strMobile = document.getElementById("mobile").value;
	var mobile_info = document.getElementById("mobile_info");
	if(verifyIsNull(mobile_info,strMobile)){
		mobile_Flag = false;
		return;
	}
	var reg0=/^13\d{9}$/;
	var reg1=/^153\d{8}$/;
	var reg2=/^159\d{8}$/;
	var reg3=/^158\d{8}$/;
	var reg4=/^150\d{8}$/;
	if(reg0.test(strMobile) || reg1.test(strMobile) || 
			reg2.test(strMobile) || reg3.test(strMobile) || reg4.test(strMobile)){
		mobile_Flag = true;
	}else{
		mobile_Flag = false;
	}
	if (mobile_Flag){
		document.getElementById("mobile_info").innerHTML = "恭喜!手机号码输入正确。";
	}else{
		document.getElementById("mobile_info").innerHTML = "对不起,您输入的手机号码格式错误。";
	}
};


/*说明
test方法检查在字符串中是否存在一个模式,如果存在则返回 true,否则就返回 false。

正则表达式部分:
\d 代表一个数字
{7,8} 代表7-8位数字(表示电话号码)
{3,} 代表分机号码
d{2,3} 代表区号
\+]\d{2,3} 代表国际区号*/
function isNO(){
	var reg0 = /^13\d{5,9}$/ ;// 130–139。至少5位,最多9位
	var reg1 = /^153\d{4,8}$/ ; // 联通153。至少4位,最多8位
	var reg2 = /^159\d{4,8}$/ ;// 移动159。至少4位,最多8位
};