㈠ js页面输入验证码怎么进行校验
<html>
<head>
<script language="javascript" type="text/javascript">
var code ;
function createCode(){
code = new Array();
var codeLength = 4;
var checkCode = document.getElementById("checkCode");
checkCode.value = "";
var selectChar = new Array(2,3,4,5,6,7,8,9,'A','B','C','D','E','F','G','H','J','K','L','M','N','P','Q','R','S','T','U','V','W','X','Y','Z');
for(var i=0;i<codeLength;i++) {
var charIndex = Math.floor(Math.random()*32);
code +=selectChar[charIndex];
}
checkCode.value = code;
}
function validate () {
var inputCode = document.getElementById("yzm").value.toUpperCase();
if(inputCode != code ){
alert("验证码错误!");
return false;
}
else {
alert("验证码正确!");
return true;
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body onLoad="createCode();">
验证码:<input type="text" id="yzm" size="5" />
<input type="button" id="checkCode" onClick="createCode()" title="刷新验证码" style="width:50px;color:#F00;border:0;letter-spacing:1px;font-family:Arial;" />
<input type="button" id="Button1" onClick="validate();" value="确定" />
</body>
</html>
㈡ 用js如何获取验证码的值
验证复码在我们的后台代码生成,制也就是在java代码里生成。然后在页面上显示出来,当用户输入验证码后再检验用户输入的验证码是否和后台生成的验证码相同,比较的时候可以通过ajax去比较,坚决反对用个隐藏域来保存后台生成的验证码,因为这样很容易被攻击
㈢ js中实现一个证件类型选择 选择是一个下拉框当选择身份证 如何对其验
可以验证填写的身份证数字的长度,现在身份证都是18位
㈣ js表单验证:字数验证、邮箱格式、字母开头,重复密码
<html>
<head>
<script type="text/javascript">
function validate()
{
var ok=true,un,pw1,pw2,el,ch0;
var r = /^([0-9A-Za-z\-_\.]+)@([0-9a-z]+\.[a-z]{2,3}(\.[a-z]{2})?)$/g;
if(""==(un=document.f.user.value))
{
alert("用户名不能为空!");
document.f.user.focus();
ok=false;
}
else if(""==(pw1=document.f.password1.value))
{
alert("密码不能为空!");
document.f.password1.focus();
ok=false;
}
else if(""==(pw2=document.f.password2.value))
{
alert("重复密码不能为空!");
document.f.password2.focus();
ok=false;
}
else if(""==(el=document.f.email.value))
{
alert("邮箱不能为空!");
document.f.email.focus();
ok=false;
}
if(ok)
{
if(!(un.length>=6 && un.length<=20))
{
alert("用户名长度必须大于等于小于等于20!");
document.f.user.focus();
ok=false;
}
else
{
ch0=un.charAt(0).toLowerCase();
if(!(ch0>="a" && ch0<="z"))
{
alert("用户名必须以字母开头!");
document.f.user.focus();
ok=false;
}
else if(pw1!=pw2)
{
alert("重复密码与密码必须相同!");
document.f.password2.focus();
ok=false;
}
else if(!r.test(el))
{
alert("不是有效的邮箱地址!");
document.f.email.focus();
ok=false;
}
}
}
if(ok)
{
alert("恭喜你,通过了有效性验证!");
}
}
</script>
</head>
<body>
<form name="f">
用户名:<input type="text" name="user" /><br /><br />
密码:<input type="text" name="password1" /><br /><br />
重复密码:<input type="text" name="password2" /><br /><br />
邮箱:<input type="text" name="email" /><br /><br />
<input type="button" value="验证" onclick="validate();" />
</form>
</body>
</html>
㈤ js文本框验证
下面是一个验证18位号码的完整HTML代码,你直接复制回去在一个新HTML文档中就可以试验。
当用户录入完后,光标离开文本框便开始验证,也就是onBlur事件,你可以根据你自己不同的需要来改变它
<!doctypehtml>
<htmllang="zh">
<head>
<metacharset="UTF-8">
<title>身份证号码校验</title>
</head>
<body>
<inputtype="text,"onBlur="IdCardValidate(this)">
<scripttype="text/javascript">
varWi=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1]; //加权因子
varValideCode=[1,0,10,9,8,7,6,5,4,3,2]; //身份证验证位值.10代表X
functionIdCardValidate(th){
varidCard=th.value;
idCard=trim(idCard.replace(//g,"")); //去掉字符串头尾空格
if(idCard.length==15){
(idCard); //进行15位身份证的验证
}elseif(idCard.length==18){
vara_idCard=idCard.split(""); //得到身份证数组
if(isValidityBrithBy18IdCard(idCard)&&isTrueValidateCodeBy18IdCard(a_idCard)){//进行18位身份证的基本验证和第18位的验证
th.style.backgroundColor="green";
}else{
th.style.backgroundColor="red";
}
}else{
th.style.backgroundColor="red";
}
}
/**
*判断身份证号码为18位时最后的验证位是否正确
*@parama_idCard身份证号码数组
*@return
*/
(a_idCard){
varsum=0; //声明加权求和变量
if(a_idCard[17].toLowerCase()=='x'){
a_idCard[17]=10; //将最后位为x的验证码替换为10方便后续操作
}
for(vari=0;i<17;i++){
sum+=Wi[i]*a_idCard[i]; //加权求和
}
valCodePosition=sum%11; //得到验证码所位置
if(a_idCard[17]==ValideCode[valCodePosition]){
returntrue;
}else{
returnfalse;
}
}
/**
*验证18位数身份证号码中的生日是否是有效生日
*@paramidCard18位书身份证字符串
*@return
*/
(idCard18){
varyear=idCard18.substring(6,10);
varmonth=idCard18.substring(10,12);
varday=idCard18.substring(12,14);
vartemp_date=newDate(year,parseFloat(month)-1,parseFloat(day));
//这里用getFullYear()获取年份,避免千年虫问题
if(temp_date.getFullYear()!=parseFloat(year)
||temp_date.getMonth()!=parseFloat(month)-1
||temp_date.getDate()!=parseFloat(day)){
returnfalse;
}else{
returntrue;
}
}
/**
*验证15位数身份证号码中的生日是否是有效生日
*@paramidCard1515位书身份证字符串
*@return
*/
(idCard15){
varyear=idCard15.substring(6,8);
varmonth=idCard15.substring(8,10);
varday=idCard15.substring(10,12);
vartemp_date=newDate(year,parseFloat(month)-1,parseFloat(day));
//对于老身份证中的你年龄则不需考虑千年虫问题而使用getYear()方法
if(temp_date.getYear()!=parseFloat(year)
||temp_date.getMonth()!=parseFloat(month)-1
||temp_date.getDate()!=parseFloat(day)){
returnfalse;
}else{
returntrue;
}
}
//去掉字符串头尾空格
functiontrim(str){
returnstr.replace(/(^s*)|(s*$)/g,"");
}
</script>
</body>
</html>
㈥ js正则 验证 A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z
正则表达式如下:
^[A-Z](,[A-Z])*$
js示例如下:
var a = /^[A-Z](,[A-Z])*$/g;
alert(a.test('A,F,C,C,Z'));
//true
alert(a.test('B,C,'));
//false
alert(a.test(',X,Z'));
//false
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。
㈦ 用js表单 验证身份证号合法怎么写
<script type="text/javascript">
//--身份证号码验证-支持新的带x身份证
function isIdCardNo(num)
{
var factorArr = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
var error;
var varArray = new Array();
var intValue;
var lngProct = 0;
var intCheckDigit;
var intStrLen = num.length;
var idNumber = num;
// initialize
if ((intStrLen != 15) && (intStrLen != 18)) {
//error = "输入身份证号码长度不对!";
//alert(error);
//frmAddUser.txtIDCard.focus();
return false;
}
// check and set value
for(i=0;i<intStrLen;i++) {
varArray[i] = idNumber.charAt(i);
if ((varArray[i] < '0' || varArray[i] > '9') && (i != 17)) {
//error = "错误的身份证号码!.";
//alert(error);
//frmAddUser.txtIDCard.focus();
return false;
} else if (i < 17) {
varArray[i] = varArray[i]*factorArr[i];
}
}
if (intStrLen == 18) {
//check date
var date8 = idNumber.substring(6,14);
if (checkDate(date8) == false) {
//error = "身份证中日期信息不正确!.";
//alert(error);
return false;
}
// calculate the sum of the procts
for(i=0;i<17;i++) {
lngProct = lngProct + varArray[i];
}
// calculate the check digit
intCheckDigit = 12 - lngProct % 11;
switch (intCheckDigit) {
case 10:
intCheckDigit = 'X';
break;
case 11:
intCheckDigit = 0;
break;
case 12:
intCheckDigit = 1;
break;
}
// check last digit
if (varArray[17].toUpperCase() != intCheckDigit) {
//error = "身份证效验位错误!...正确为: " + intCheckDigit + ".";
//alert(error);
return false;
}
}
else{ //length is 15
//check date
var date6 = idNumber.substring(6,12);
if (checkDate(date6) == false) {
//alert("身份证日期信息有误!.");
return false;
}
}
//alert ("Correct.");
return true;
}
function checkDate(date)
{
return true;
}
function check()
{
idnum = document.getElementById('idcard').value;
alert(isIdCardNo(idnum));
}
</script>
㈧ js 正则验证正整数
"^[1-9]*[1-9][0-9]*$" 把0排开嘛
㈨ JS验证身份证的正则表达式
|18位身份证:
先用这个表达式取出出生年份
\d{6}(\d{4})\d{8}
$1就是四位的年份,比如1986
在用这个表达式判断是不是在专1900-2000之间属
(19\d{2}|2000)
15位身份证,这种身份证1900和2000是区分不出来的,这种身份证年份只用后两位表示
先用这个表达式取出出生年份
\d{6}(\d{2})\d{7}
$1就是二位的年份,比如86
在用这个表达式判断是不是在1900-2000之间
\d{2}
这是主要的方法,细节就不写啦,呵呵,我还有活,祝你好运
㈩ 【总结】js正则表达式及验证函数
用户名或昵称 : ^[\u4e00-\u9fa5A-Za-z0-9-_]*$——只能中英文,数字,下划线,减号
用户密码: ^[a-zA-Z]\w{5,17}$ 正确格式为——以字母开头,长度在6-18之间,只能包含字符、数字和下划线。
汉字 :^[\u4e00-\u9fa5],{0,}$
Email地址 :^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$
IP地址 :^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])(\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])){3}$
日期 格式是否为YYYY-MM-DD:^\d{4}-(0?[1-9]|1[0-2])-(0?[1-9]|[1-2]\d|3[0-1])$/;
时间 格式是否为hh:mm:ss:^([0-1]\\d|2[0-3]):[0-5]\\d:[0-5]\\d$
InternetURL :^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$
^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$
电话号码 :^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}$——正确格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。
^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$
手机号码 :^0?(13[0-9]|15[012356789]|18[0236789]|14[57])[0-9]{8}$:打长途时一般要在手机号码前加0。
身份证号 (15位或18位数字):^\d{15}(\d{2}[A-Za-z0-9])?$
QQ号码 : /^[1-9]\d{4,8}$/
验证是否含有 ^%&',;=?$\" 等字符:[^%&',;=?$\x22]+
验证一年的12个月:^(0?[1-9]|1[0-2])$ 正确格式为:“01”-“09”和“1”“12”
验证一个月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$ 正确格式为:01、09和1、31。
验证数字:^[0-9]*$
验证n位的数字:^\d{n}$
验证至少n位数字:^\d{n,}$
验证m-n位的数字:^\d{m,n}$
验证零和非零开头的数字:^(0|[1-9][0-9]*)$
验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$
验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$
验证非零的正整数:^\+?[1-9][0-9]*$
验证非零的负整数:^\-[1-9][0-9]*$
验证非负整数(正整数 + 0) ^\d+$
验证非正整数(负整数 + 0) ^((-\d+)|(0+))$
验证长度为3的字符:^.{3}$
验证由26个英文字母组成的字符串:^[A-Za-z]+$
验证由26个大写英文字母组成的字符串:^[A-Z]+$
验证由26个小写英文字母组成的字符串:^[a-z]+$
验证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$
验证由数字、26个英文字母或者下划线组成的字符串:^\w+$
整数:^-?\d+$
非负浮点数(正浮点数 + 0):^\d+(\.\d+)?$
正浮点数: ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
非正浮点数(负浮点数 + 0):^((-\d+(\.\d+)?)|(0+(\.0+)?))$
负浮点数: ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
浮点数 :^(-?\d+)(\.\d+)?$
双精度:^[-\+]?\d+(\.\d+)?$
//判断输入的字符是否为中文
function IsChinese(){
var str = document.getElementById('str').value.trim();
if(str.length!=0){
reg=/^[\u0391-\uFFE5]+$/;
if(!reg.test(str)){
alert("对不起,您输入的字符串类型格式不正确!");
}
}
}
//判断输入的数字不大于某个特定的数字
function MaxValue(){
var val = document.getElementById('str').value.trim();
if(str.length!=0){
reg=/^[-+]?\d*$/;
if(!reg.test(str)){//判断是否为数字类型
if(val>parseInt('123')){//“123”为自己设定的最大值
alert('对不起,您输入的数字超出范围');
}
}
}
}
//为上面提供各个JS验证方法提供.trim()属性
String.prototype.trim=function(){
return this.replace(/(^\s*)|(\s*$)/g, "");
}
var patterms = newObject();
//验证IP
patterms.ip = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])(\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])){3}$/;
//验证EMAIL
patterms.email = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;
//验证函数
functionverify(str,pat){
var thePat = patterms[pat];
if(thePat.test(str)){
return true;
}else{
return false;
}
}
//测试alert(verify("[email protected]","email")+","+verify("192.168.1.1","ip")+","+verify("192.168","ip"));
本文摘自: js正则表达式验证大全