js验证表单的若干方法[转]

本文详细介绍了如何使用JavaScript编写表单验证代码,确保输入的数据符合特定规则:不能为空、只包含数字和下划线、在指定范围内、以及验证中文、英文、数字和邮箱地址的合法性。同时,还讨论了如何验证输入字符是否包含非法字符。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、验证表单项不允许为空
<script language="javascript">
 <!--
 function CheckForm()
 {
if (document.form.name.value.length == 0) {
alert("必填项不允许为空!");
 document.form.name.focus();
 return false;
 }
 return true;
 }
 -->
 </script>

2、验证表单项只能为数字和"_",可用于电话/银行帐号验证上,可扩展到域名注册等

<script language="javascript">
 <!--
 function isNumber(String)
 {
var Letters = "0123456789-"; //在此可以增加可输入的字符值
 var i;
 var str;
 if(String.charAt( 0 )==''-'')
 return false;
 if( String.charAt( String.length - 1 ) == ''-'' )
 return false;
 for( i = 0; i < String.length; i ++ )
 {
<pre name="code" class="javascript">str = String.charAt( i );
 if (Letters.indexOf(str) < 0)
 return false;
 }
 return true;
 }
 function CheckForm()
 {
if(! isNumber(document.form.TEL.value)) {
alert("您输入的电话号码格式有误!");
 document.form.TEL.focus();
 return false;
 }
 return true;
 }
 -->
 </script>


3、 验证表单项只能输入数值/长度 
<script language="javascript">
 <!--
 function CheckForm()
{
if (document.form.count.value > 100 || document.form.count.value < 1)
 {
alert("输入数值不能小于零大于100!");
 document.form.count.focus();
 return false;
 }
 if (document.form.MESSAGE.value.length<10)
 {
alert("输入文字小于10!");
 document.form.MESSAGE.focus();
 return false;
 }
 return true;
 }
 //-->
 </script>

4、验证两个表单项的值是否相同


<script language="javascript">
 <!--
 function CheckForm()
 if (document.form.PWD.value != document.form.PWD_Again.value) {
alert("您两次输入的密码不一样!请重新输入.");
 document.ADDUser.PWD.focus();
 return false;
 }
 return true;
 }
 -->
 </script>

5、验证中文/英文/数字/邮件地址的合法性
 
<SCRIPT LANGUAGE="javascript">
 <!--
function isEnglish(name) //英文值检测
 {
if(name.length == 0)
 return false;
 for(i = 0; i < name.length; i++) {
if(name.charCodeAt(i) > 128)
 return false;
 }
 return true;
 }
 
function isChinese(name) //中文值检测
 {
if(name.length == 0)
 return false;
 for(i = 0; i < name.length; i++) {
if(name.charCodeAt(i) > 128)
 return true;
 }
 return false;
 }
 
function isMail(name) // E-mail值检测
 {
if(! isEnglish(name))
 return false;
 i = name.indexOf(" at ");
 j = name dot lastIndexOf(" at ");
 if(i == -1)
 return false;
 if(i != j)
 return false;
 if(i == name dot length)
 return false;
 return true;
 }
 
function isNumber(name) //数值检测
 {
if(name.length == 0)
 return false;
 for(i = 0; i < name.length; i++) {
if(name.charAt(i) < "0" || name.charAt(i) > "9")
 return false;
 }
 return true;
 }
 
function CheckForm()
 {
if(! isMail(form.[email].value)) {
alert("您的电子邮件不合法!");
 form.[email].focus();
 return false;
 }
 if(! isEnglish(form.name.value)) {
alert("英文名不合法!");
 form.name.focus();
 return false;
 }
 if(! isChinese(form.cnname.value)) {
alert("中文名不合法!");
 form.cnname.focus();
 return false;
 }
 if(! isNumber(form.PublicZipCode.value)) {
alert("邮政编码不合法!");
 form.PublicZipCode.focus();
 return false;
 }
 return true;
 }
 //-->
 </SCRIPT>

6、验证 表单项不能输入的字符
 
<script language="javascript">
 <!--
function contain(str,charset)// 字符串包含测试函数
 {
var i;
 for(i=0;i<charset.length;i++)
 if(str.indexOf(charset.charAt(i))>=0)
 return true;
 return false;
 }
 
function CheckForm()
 {
if ((contain(document.form.NAME.value, "%\(\)><")) || (contain(document.form.MESSAGE.value, "%\(\)><")))
 {
alert("输入了非法字符");
 document.form.NAME.focus();
 return false;
 }
 return true;
 }
 //-->
 </script> 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值