<form name="form1" onsubmit="return CheckForm(this)">
如果用onchange="checkValue(this,'\\\d+$','不能为空,且只能是数字');" 方法调用,则需要把\改为\\\,并更改提示信息。
<br/>例如:check="^\d{4}-\d{1,2}-\d{1,2}$"
<br/>改为:onchange="checkValue(this,'^\\\d{4}-\\\d{1,2}-\\\d{1,2}$','日期格式2004-08-10');"
<br><br/>
<div id="htmlstr">
中文:<input type="text" check="[\u4e00-\u9fa5]" warning="只可以输入中文字符" name="id">输入中文字符
<br>
双字节字符:<input type="text" check="[^\x00-\xff]" warning="只可以输入双字节字符" name="id">输入双字节字符(包括汉字在内)
<br>
空行:<input type="text" check="^\s*$" warning="只可以为空" name="id">只可以为空
<br>
首尾空格:<input type="text" check="^\s+|\s+$" warning="必须首尾空格" name="id">必须首尾空格
<br>
首或尾空格:<input type="text" check="^\s+" check="\s+$" warning="必须首或尾空格" name="id">必须首或尾空格
<br>
不为空:<input type="text" check="^\S+$" warning="不能为空,且不能含有空格" name="id">不为空
<br>
帐号是否合法:<input type="text" check="^[a-zA-Z][a-zA-Z0-9_]{4,15}$" warning="帐号不合法" name="id">帐号字母开头,允许5-16字节,允许字母数字下划线
<br>
密码:<input type="password" check="^[0-9a-z~!@#$%&^*()+-_|=?]{6,20}$" warning="密码填写不完整!长度必须要6位以上,20位以下!" name="id">六位以上
<br>
电话:<input type="text" check="\d+$" warning="电话号码含有非法字符,只限数字" name="number">只限数字
<br>
车牌号:<input type="text" check="^粤[A-Z]-[A-Z0-9][0-9]{4}$" warning="车牌号含有非法字符" name="number">车牌号如 粤S-S9999
<br>
腾讯QQ号:<input type="text" check="[1-9][0-9]{4,}" warning="腾讯QQ号含有非法字符" name="number" >腾讯QQ号从10000开始
<br>
国内电话:<input type="text" check="\d{3}-\d{8}|\d{4}-\d{7}" warning="电话号码含有非法字符" name="number" >国内电话形式如 0511-4405222 或 021-87888822
<br>
相片上传:<input type="file" check="(.*)(.jpg|.bmp)$" warning="相片应该为JPG,BMP格式的" name="pic" value="1">只限.jpg,bmp图片
<br>
出生日期:<input type="text" check="^\d{4}-\d{1,2}-\d{1,2}$" warning="日期格式2004-08-10" name="dt">日期格式2004-08-10
<!--
check="^[0-9]+-[0-1][0-9]-[0-3][0-9]$" check="^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$"
check="^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$" warning="日期格式2004-08-10 12:54:56"
-->
<br>
IP地址:<input type="text" check="\d+\.\d+\.\d+\.\d+" warning="IP地址不正确" name="ip" >网址URL
<!-- check="^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$"
-->
<br>
邮件地址:<input type="text" check="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" warning="邮件地址不正确" name="mail">格式如:@163.com
<!-- check="^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*[0-9a-zA-Z]+))@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2}|net|NET|com|COM|gov|GOV|mil|MIL|org|ORG|edu|EDU|int|INT)$"
check="^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"
-->
<br>
网址<A href="url:%20type=" >网址URL><BR warning="网址URL不正确" check="[a-zA-z]+://[^s]*" text?> <!-- check="^http://{1}(){1,3}" check="^http://{1}((\w)+[.]){1,3}"
check="^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"
-->
<br>
HTML标记:<input type="text" check="<(\S*?)[^>]*>.*?|<.*? />" warning="HTML标记不正确" name="html">HTML标记格式
<!-- check="<(.*)>.*<\/\1>|<(.*) \/>" -->
<br>
</div>
省份:<select name="sel" check="^0$" warning="请选择所在省份">
<option value="">请选择
<option value="1">福建省
<option value="2">湖北省
</select>
<br>
选择你喜欢的运动:
游泳<input type="checkbox" name="c" check="^0{2,}$" warning="请选择2项或以上">
篮球<input type="checkbox" name="c">
足球<input type="checkbox" name="c">
排球<input type="checkbox" name="c">
<br>
选择你的学历:
大学<input type="radio" name="r" check="^0$" warning="请选择一项学历">
中学<input type="radio" name="r">
小学<input type="radio" name="r">
<br>
个人介绍:
<textarea name="txts" check="^[s|S]{20,}$" warning="个人介绍不能为空,且不少于20字"></textarea>20个字以上
<br>
<br>
<input type="submit">
</form>
<script language=javascript>
//主函数
function CheckForm(oForm)
{
var els = oForm.elements;
//遍历所有表元素
for(var i=0;i<els.length;i++)
{
//是否需要验证
if(els[i].check)
{
//取得验证的正则字符串
var sReg = els[i].check;
//取得表单的值,用通用取值函数
var sVal = GetValue(els[i]);
//alert(sVal);
//字符串->正则表达式,不区分大小写
var reg = new RegExp(sReg,"i");
//alert(reg)
if(!reg.test(sVal)) //test()判定某个字符串是否满足某个 pattern. 返回值是 true/false.
{
//验证不通过,弹出提示warning
alert(els[i].warning);
//该表单元素取得焦点,用通用返回函数
GoBack(els[i])
return false;
}
}
}
}
//通用取值函数分三类进行取值
//文本输入框,直接取值el.value
//单多选,遍历所有选项取得被选中的个数返回结果"00"表示选中两个
//单多下拉菜单,遍历所有选项取得被选中的个数返回结果"0"表示选中一个
function GetValue(el)
{
//取得表单元素的类型
var sType = el.type;
switch(sType)
{
case "text":
case "hidden":
case "password":
case "file":
case "textarea": return el.value;
case "checkbox":
case "radio": return GetValueChoose(el);
case "select-one":
case "select-multiple": return GetValueSel(el);
}
}
//取得radio,checkbox的选中数,用"0"来表示选中的个数,我们写正则的时候就可以通过0{1,}来表示选中个数
function GetValueChoose(el)
{
var sValue = "";
//取得第一个元素的name,搜索这个元素组
var tmpels = document.getElementsByName(el.name);
for(var i=0;i<tmpels.length;i++)
{
if(tmpels[i].checked)
{
sValue += "0";
}
}
return sValue;
}
//取得select的选中数,用"0"来表示选中的个数,我们写正则的时候就可以通过0{1,}来表示选中个数
function GetValueSel(el)
{
var sValue = "";
for(var i=0;i<el.options.length;i++)
{
//单选下拉框提示选项设置为value=""
if(el.options[i].selected && el.options[i].value!="")
{
sValue += "0";
}
}
return sValue;
}
//通用返回函数,验证没通过返回的效果.分三类进行取值
//文本输入框,光标定位在文本输入框的末尾
//单多选,第一选项取得焦点
//单多下拉菜单,取得焦点
function GoBack(el)
{
//取得表单元素的类型
var sType = el.type;
switch(sType)
{
case "text":
case "hidden":
case "password":
case "file":
case "textarea": el.focus();var rng = el.createTextRange(); rng.collapse(false); rng.select();
case "checkbox":
case "radio": var els = document.getElementsByName(el.name);els[0].focus();
case "select-one":
case "select-multiple":el.focus();
}
}
</script>
<script language=javascript>
//JS判断两种格式的输入日期的正确性
//最简单的
function isValidDate(dateStr) {
var matchArray = dateStr.match(/^[0-9]+-[0-1][0-9]-[0-3][0-9]$/)
if (matchArray == null) {
alert("Invalid date: " + dateStr);
return false;
}
return true;
}
</script>
<script language=javascript>
//第二种
String.prototype.isDate = function()
{
var r = this.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
if(r==null)return false; var d = new Date(r[1], r[3]-1, r[4]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
}
//alert("2002-01-31".isDate());
//alert("2002-01-41".isDate());
</script>
<script language=javascript>
//第三种,比较复杂的
String.prototype.isTime = function()
{
var r = this.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/);
if(r==null)return false; var d = new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
}
// alert("2002-1-31 12:34:56".isTime());
// alert("2001-2-29 12:54:56".isTime());
// alert("2002-1-41 12:00:00".isTime());
</script>
分享到:
相关推荐
根据给定的信息,本文将对JavaScript常用代码进行详细介绍。这些代码涵盖了从模式窗口的打开到日期验证、字符串处理等多方面的重要功能。 ### 模式窗口的打开与关闭 #### 打开模式窗口 ```javascript function ...
### JavaScript常用判断函数知识点 #### 一、概述 在JavaScript编程中,判断函数是非常重要的工具,可以帮助开发者快速地对各种数据类型进行验证和处理。本文将详细介绍几个常用的JavaScript判断函数,包括`...
在提供的“JavaScript常用代码大全”中,我们可以看到许多实用的代码片段,涵盖了多个方面的功能,包括对话框、全屏窗口、XML处理、表单验证、字符检测、浏览器检测以及特定功能的实现。 1. 对话框: - `...
在编写JavaScript代码时,正确使用这些判断函数能提高代码的健壮性和可维护性。理解它们的工作原理和应用场景是提升JavaScript编程技能的关键步骤。开发者可以根据需求,灵活组合使用这些函数,以实现更复杂的逻辑...
一、JavaScript常用函数 1. 数组操作函数 - `push()`: 向数组末尾添加一个或多个元素,并返回新长度。 - `pop()`: 删除并返回数组最后一个元素。 - `shift()`: 删除并返回数组第一个元素。 - `unshift()`: 在...
以上只是JavaScript常用代码段的一小部分,实际应用中还有许多其他功能和技巧,如事件处理、定时器、正则表达式、错误处理等。通过深入学习和实践,你可以更好地掌握JavaScript这门强大的语言。在提供的PDF文档和...
以下是对"JavaScript常用代码总结大全"中可能包含的一些关键知识点的详细解释: 1. 变量声明: JavaScript中的变量可以通过`var`, `let`, 或 `const` 关键字声明。`var` 是全局或函数作用域,`let` 和 `const` ...
### JavaScript经典常用代码解析 #### 1. 关闭当前窗口并重定向打开者窗口 在HTML文档中,通过使用`window.opener.location`属性和`window.close()`方法可以实现关闭当前弹出窗口(如果是由另一个窗口打开的)并...
根据提供的文件信息,我们可以归纳总结出一系列...以上就是对给定文件中提到的JavaScript常用代码的详细解释,涵盖了从基本的页面控制到复杂的视觉效果等多个方面。这些技巧对于提升网页的设计和用户体验有着重要作用。
### JavaScript代码常用大全知识点解析 #### 一、验证类 **1. 数字验证** - **1.1 整数验证** - 目的是确保输入的字符串仅包含整数。 - 可以通过正则表达式 `/^-?\d+$/.test(str)` 实现,其中 `-?` 表示可选的...
### JavaScript常用代码总结 在日常开发中,JavaScript作为前端开发的核心语言之一,有着广泛的应用场景。下面将根据提供的部分文件内容来归纳总结一些常见的JavaScript代码片段及其应用场景。 #### 1. 操作DOM...
### JavaScript 常用代码大全知识点解析 #### 1. 输出到文档 - **知识点**:`document.write("")` - `document.write()`方法用于将文本写入正在加载的文档流。 - 通常用于输出调试信息或动态生成页面内容。 ####...
JavaScript支持`if...else`、`switch`等条件判断结构,用于根据不同的条件执行不同的代码。 5. 循环: `for`, `while`, `do...while` 是常用的循环结构,另外,ES6引入的`for...of`和`for...in`则分别用于遍历可...
JavaScript是一种广泛应用于网页和...以上是对"javascript常用语句总结"中部分关键知识点的概述,JavaScript作为一门功能丰富的语言,其知识点远不止这些。深入学习并熟练掌握JavaScript,能帮助你更好地进行Web开发。
### JavaScript常用判断知识点详解 #### 1. 字符串长度限制与判断 在网页表单设计中,常常需要对用户输入的数据进行长度限制,避免过长的文本输入导致数据库存储问题或者界面显示不美观。 ##### 实现方法 可以通过...
90、原生JavaScript常用的正则表达式大收集 91、原生JavaScript实现窗体改变事件resize的操作(兼容所以的浏览器) 92、原生JavaScript用正则清除空格分左右 93、原生JavaScript判断变量是否空值 94、原生JavaScript...
这个"javascript常见代码合集"包含了一系列实现常见效果的JavaScript代码示例,可以帮助开发者理解和学习JavaScript的基础以及进阶功能。 1. **变量与数据类型**: JavaScript支持基本数据类型(如字符串、数字、...
如示例代码,限制只允许输入数字和小数点,可以使用条件判断`(event.keyCode||event.keyCode>57)&&(event.keyCode!=46)`来阻止其他键的输入。 6. **checkbox的全选/取消**: 实现复选框全选和取消全选功能,可以...