㈠ 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正則表達式驗證大全