用JavaScript判断文本框的合法性(经典集合)
如下:
1. 检查一段字符串是否全由数字组成
---------------------------------------
<script language= "Javascript "> <!--
function checkNum(str){return str.match(//D/)==null}
alert(checkNum( "1232142141 "))
alert(checkNum( "123214214a1 "))
// --> </script>
2. 怎么判断是否是字符
---------------------------------------
if (/[^/x00-/xff]/g.test(s)) alert( "含有汉字 ");
else alert( "全是字符 ");
3. 怎么判断是否含有汉字
---------------------------------------
if (escape(str).indexOf( "%u ")!=-1) alert( "含有汉字 ");
else alert( "全是字符 ");
4. 邮箱格式验证
---------------------------------------
//函数名:chkemail
//功能介绍:检查是否为Email Address
//参数说明:要检查的字符串
//返回值:0:不是 1:是
function chkemail(a)
{ var i=a.length;
var temp = a.indexOf( '@ ');
var tempd = a.indexOf( '. ');
if (temp > 1) {
if ((i-temp) > 3){
if ((i-tempd)> 0){
return 1;
}
}
}
return 0;
}
5. 数字格式验证
---------------------------------------
//函数名:fucCheckNUM
//功能介绍:检查是否为数字
//参数说明:要检查的数字
//返回值:1为是数字,0为不是数字
function fucCheckNUM(NUM)
{
var i,j,strTemp;
strTemp= "0123456789 ";
if ( NUM.length== 0)
return 0
for (i=0;i <NUM.length;i++)
{
j=strTemp.indexOf(NUM.charAt(i));
if (j==-1)
{
//说明有字符不是数字
return 0;
}
}
//说明是数字
return 1;
}
6. 电话号码格式验证
---------------------------------------
//函数名:fucCheckTEL
//功能介绍:检查是否为电话号码
//参数说明:要检查的字符串
//返回值:1为是合法,0为不合法
function fucCheckTEL(TEL)
{
var i,j,strTemp;
strTemp= "0123456789-()# ";
for (i=0;i <TEL.length;i++)
{
j=strTemp.indexOf(TEL.charAt(i));
if (j==-1)
{
//说明有字符不合法
return 0;
}
}
//说明合法
return 1;
}
7. 判断输入是否为中文的函数
---------------------------------------
function ischinese(s){
var ret=true;
for(var i=0;i <s.length;i++)
ret=ret && (s.charCodeAt(i)> =10000);
return ret;
}
8. 综合的判断用户输入的合法性的函数
---------------------------------------
<script language= "javascript ">
//限制输入字符的位数开始
//m是用户输入,n是要限制的位数
function issmall(m,n)
{
if ((m <n) && (m> 0))
{
return(false);
}
else
{return(true);}
}
9. 判断密码是否输入一致
---------------------------------------
function issame(str1,str2)
{
if (str1==str2)
{return(true);}
else
{return(false);}
}
10. 判断用户名是否为数字字母下滑线
---------------------------------------
function notchinese(str){
var reg=/[^A-Za-z0-9_]/g
if (reg.test(str)){
return (false);
}else{
return(true); }
}
11. form文本域的通用校验函数
---------------------------------------
作用:检测所有必须非空的input文本,比如姓名,账号,邮件地址等等。
该校验现在只针对文本域,如果要针对form里面的其他域对象,可以改变判断条件。
使用方法:在要检测的文本域中加入title文字。文字是在提示信息,你要提示给用户的该字段的中文名。比如要检测用户名
html如下 <input name= "txt_1 " title= "姓名 "> ,当然,最好用可视化工具比如dreamweaver什么的来编辑域。
如果要检测数字类型数据的话,再把域的id统一为sz.
javascript判断日期类型比较麻烦,所以就没有做日期类型校验的程序了.高手可以补充。
程序比较草,只是提供一个思路。抛砖引玉! :)
哦,对了,函数调用方法: < form onsubmit= "return dovalidate() ">
function dovalidate()
{
fm=document.forms[0] //只检测一个form,如果是多个可以改变判断条件
for(i=0;i <fm.length;i++)
{
//检测判断条件,根据类型不同可以修改
if(fm[i].tagName.toUpperCase()== "INPUT " &&fm[i].type.toUpperCase()== "TEXT " && (fm[i].title!= " "))
if(fm[i].value= "/blog/= " ")//
{
str_warn1=fm[i].title+ "不能为空! ";
alert(str_warn1);
fm[i].focus();
return false;
}
if(fm[i].