> 웹 프론트엔드 > JS 튜토리얼 > 페이지 JavaScript 검증 기능

페이지 JavaScript 검증 기능

高洛峰
풀어 주다: 2016-11-25 13:22:22
원래의
926명이 탐색했습니다.

/************************************************** ************************************/
/***************************************번호 확인********** ** *******************************/
/************************************************** ************************************/
/**
* 입력된 문자열이 모두 숫자인지 확인
* 입력: str string
* 반환: true 또는 flase true는 숫자로 표현됩니다.
*/
함수 checkNum( str){
return str.match(/D/) == null;
}

/**
* 입력 문자열이 십진수인지 확인
* 입력: 문자열 문자열
* 반환: true 또는 flase true는 십진수를 나타냅니다.
*/
function checkDecimal(str){
if (str.match(/^-?d+(.d+)?$/g) == null) {
false를 반환;
}
else {
true를 반환;
}
}
/**
* 입력된 문자열이 정수 데이터인지 확인
* 입력: str string
* 반환: true 또는 flase true는 10진수로 표시됩니다.
*/
function checkInteger(str){
if (str.match(/^[-+]?d*$/) == null) {
false 반환;
}
else {
true 반환;
}
}
/************************************************** ************************************/
/***************************************문자 확인********** ** *******************************/
/************************************************** ************************************/

/**
* 입력한 문자열이 문자인지 확인
* 입력: 문자열
* 반환: true 또는 false는 모든 문자가 문자이고 한자를 포함하지 않음을 의미합니다.
*/
function checkStr(str){
if (/[^x00-xff]/g.test (str)) {
false 반환;
}
else {
true 반환;
}
}

/**
* 입력 문자열에 한자가 포함되어 있는지 확인
* 입력: 문자열 문자열
* 반환: true 또는 false는 한자가 포함되어 있음을 의미합니다.
*/
function check Chinese(str){
if (escape(str).indexOf("%u") != -1) {
return true;
}
else {
false 반환 ;
}
}

/**
* 입력한 이메일 형식이 올바른지 확인하세요
* 입력: 문자열 문자열
* 반환: true 또는 false true는 형식이 올바른 것을 의미합니다.
*/
function checkEmail(str){
if (str.match(/[A-Za-z0-9_ -]+[@](S*)(net|com|cn|org|cc|tv|[0-9]{1,3})(S*)/g) == null) {
return false;
}
else {
return true;
}
}

/**
* 입력한 휴대폰 번호의 형식이 올바른지 확인하세요
* 입력: 문자열 문자열
* 반환: true 또는 false는 형식이 올바른 것을 의미합니다.
*/
function checkMobilePhone(str){
if (str.match(/^(?:13d|15[89])-?d{5}(d{3}|*{3})$/) == null) {
return false;
}
else {
true를 반환합니다.
}
}

/**
* 입력한 고정 전화번호가 맞는지 확인하세요
* 입력: 문자열
* 반환: true 또는 false true는 형식이 올바른 것을 의미합니다.
*/
function checkTelephone(str){
if (str.match(/^(([0+]d{2,3}-)?(0d{2 ,3})-)(d{7,8})(-(d{3,}))?$/) == null) {
false 반환;
}
else {
true를 반환합니다.
}
}
/**
* QQ 형식이 올바른지 확인하세요
* 입력: 문자열 문자열
* 반환: true 또는 false는 형식이 올바른 것을 의미합니다
*/
function checkQQ(str){
if (str.match(/^d{5,10}$ /) == null) {
false 반환;
}
else {
true 반환;
}
}
/**
* 입력한 ID 번호가 올바른지 확인하세요
* 입력: 문자열 문자열
* 반환: true 또는 false 는 형식이 올바른 것을 의미합니다.
*/
function checkCard(str){
//15자리 ID 카드 정규식
var arg1 = /^[1-9]d{7}((0d)|(1[0-2])) ( ([0|1|2]d)|3[0-1])d{3}$/;
//18자리 ID 카드 정규식
var arg2 = /^[1- 9] d{5}[1-9]d{3}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])(( d{ 4})|d{3}[A-Z])$/;
if (str.match(arg1) == null && str.match(arg2) == null) {
return false;
}
else {
true 반환;
}
}
/**
* 입력한 IP 주소가 올바른지 확인하세요
* 입력: 문자열
* 반환: true 또는 false true는 형식이 올바른 것을 의미합니다.
*/
function checkIP(str){
var arg = /^ (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] )$/;
if (str.match(arg) == null) {
false를 반환;
}
else {
true를 반환;
}
}
/**
* 입력한 URL 주소가 올바른지 확인하세요
* 입력: 문자열
* 반환: true 또는 false true는 형식이 올바른 것을 의미합니다.
*/
함수 checkURL(str){
if (str.match(/(http[s]?|ftp)://[^/.]+? .. +w$/i) == null) {
false 반환
}
else {
true 반환;
}
}
/**
* 입력한 문자에 특수문자가 있는지 확인
* 입력: 문자열 문자열
* 반환: true 또는 false, true는 특수문자가 포함되어 있음을 의미합니다.
* 주로 정보 등록 시 확인용으로 사용됩니다. */
function checkQuote(str){
var items = new Array("~", "`", "!", "@", "#", "$", "%", "^ ", "&", "*", "{", "}", "[", "]", "(", ")");
items.push(":", ";", "' ", "|", "\", "", "?", "/", ">", "||", " // ");
items.push("admin", "administrators", "administrator", "administrator", "시스템 관리자");
items.push("select", "delete" , "update" , "삽입", "생성", "삭제", "변경", "번역");
str = str.toLowerCase();
for (var i = 0; i < items.length; i++) {
if (str.indexOf(items[i]) >= 0) {
return true;
}
}
return false;
}

/************************************************** ************************************/
/*************************************시간확인************ * ****************************/
/************************************************** ************************************/
/**
* 날짜 형식이 올바른지 확인하세요
* 입력: 문자열 문자열
* 반환: true 또는 false, true는 형식이 올바른 것을 의미합니다.
* 참고: 여기서는 중국어 날짜 형식을 확인할 수 없습니다.
* 검증요약일자(2007-06-05)
*/
기능 checkDate( str){
//var value=str.match(/((^((1[8-9]d{2})|([2-9]d{3}))(-)(10 |12|0?[13578])(-)(3[01]|[12][0-9]|0?[1-9])$)|(^((1[8-9]d{ 2})|([2-9]d{3}))(-)(11|0?[469])(-)(30|[12][0-9]|0?[1-9] )$)|(^((1[8-9]d{2})|([2-9]d{3}))(-)(0?2)(-)(2[0-8] |1[0-9]|0?[1-9])$)|(^([2468][048]00)(-)(0?2)(-)(29)$)|(^( [3579][26]00)(-)(0?2)(-)(29)$)|(^([1][89][0][48])(-)(0?2)( -)(29)$)|(^([2-9][0-9][0][48])(-)(0?2)(-)(29)$)|(^([1 ][89][2468][048])(-)(0?2)(-)(29)$)|(^([2-9][0-9][2468][048])(- )(0?2)(-)(29)$)|(^([1][89][13579][26])(-)(0?2)(-)(29)$)|(^ ([2-9][0-9][13579][26])(-)(0?2)(-)(29)$))/);
var 값 = str.match(/^ (d{1,4})(-|/)(d{1,2})2(d{1,2})$/);
if (값 == null) {
false 반환 ;
}
else {
var date = new Date(value[1], value[3] - 1, value[4]);
return (date.getFullYear() == value [1] && (date.getMonth() + 1) == 값[3] && date.getDate() == 값[4]);
}
}
/**
* 시간 형식이 올바른지 확인
* 입력: str 문자열
* 반환: true 또는 flase; true는 형식이 올바른 것을 의미합니다.
* 시간 확인(10:57:10)
*/
function checkTime(str){
var value = str.match(/^(d{1,2})(:)?(d{1,2})2(d{1,2 })$/)
if (값 == null) {
false 반환;
}
else {
if (값[1] > 24 || 값[3] > 60 || 값[4] > 60) {
false 반환
}
else {
true 반환;
}
}
}
/**
* 전체 날짜 및 시간 형식이 올바른지 확인하세요
* 입력: 문자열
* 반환: true 또는 false는 형식이 올바른 것을 의미합니다.
* (2007-06-05 10: 57:10)
*/
함수 checkFullTime(str){
//var value = str.match(/^(d{1,4})(-|/)(d{1,2})2(d{1,2}) ( d{1,2}):(d{1,2}):(d{1,2})$/);
var value = str.match(/^(?:19|20)[0 -9][0-9]-(?:(?:0[1-9])|(?:1[0-2]))-(?:(?:[0-2][1-9 ])|(?:[1-3][0-1])) (?:(?:[0-2][0-3])|(?:[0-1][0-9]) ):[0-5][0-9]:[0-5][0-9]$/);
if (value == null) {
return false;
}
else {
//var date = new Date(checkFullTime[1], checkFullTime[3] - 1, checkFullTime[4], checkFullTime[5], checkFullTime[6], checkFullTime[7]);
//return (date.getFullYear() == 값[1] && (date.getMonth() + 1) == 값[3] && date.getDate() == 값[4] && date.getHours() = = value[5] && date.getMinutes() == value[6] && date.getSeconds() == value[7]);
return true;
}

}
 

/************************************************** ************************************/
/**************************************ID번호 확인********** **************************/
/************************************************** ************************************/
/**
* 신분증 15자리 인코딩 규칙: dddddd yymmdd xx p
* dddddd: 지역번호
* yymmdd: 생년월일
* xx: 순차 인코딩, 알 수 없음
* p : 성별, 홀수는 남성, 짝수는 여성
*


* 신분증 18자리 인코딩 규칙: dddddd yyyymmdd xxx y
* dddddd: 지역번호
* yyyymmdd: 생년월일
* xxx: 순차 코딩, 알 수 없음, 홀수는 남성, 짝수는 여성
* y: 코드를 확인하세요. 이 숫자의 값은 다음을 계산하여 얻을 수 있습니다. 처음 17자리
*


* 18자리 숫자의 가중치는 (오른쪽에서 왼쪽으로) Wi = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2,1 ]
* 확인 숫자 Y = [ 1, 0, 10, 9, 8, 7, 6, 5, 4, 3 , 2 ]
* 확인 숫자 계산 공식: Y_P = mod( ∑(Ai×Wi),11 )
* i는 오른쪽에서 왼쪽으로 ID 카드 번호의 2~18자리입니다. 풋 체크 코드가 위치한 체크 코드 배열의 위치
*
*/
var Wi = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1] // 가중치
var ValideCode = [1 , 0, 10, 9, 8, 7, 6, 5, 4, 3, 2];// ID 카드 확인 비트 값 10은 X
함수 IdCardValidate(idCard){
idCard = Trim(idCard)를 나타냅니다. .replace(/ /g, ""));
if (idCard.length == 15) {
return isValidityBrithBy15IdCard(idCard);
}
else
if (idCard.length == 18) {
var a_idCard = idCard.split("");// ID 카드 배열 가져오기
if (isValidityBrithBy18IdCard(idCard) && isTrueValidateCodeBy18IdCard(a_idCard)) {
return true;
}
else {
false 반환;
}
}
else {
false 반환;
}
}
/**
* 주민등록번호가 18자리일 때 마지막 인증숫자가 맞는지 판단
* @param a_idCard 신분증번호 배열
* @return
* /
function isTrueValidateCodeBy18IdCard(a_idCard){
var sum = 0; // 가중 합계 변수 선언
if (a_idCard[17].toLowerCase() == 'x') {
a_idCard[17 ] = 10;// 후속 작업을 용이하게 하려면 확인 코드의 마지막 숫자를 x를 10으로 바꾸세요.
}
for (var i = 0; i < 17; i++) {
sum += Wi[ i] * a_idCard[i];// Weighted sum
}
valCodePosition = sum % 11;// 인증 코드 위치 가져오기
if (a_idCard[17] == ValideCode[valCodePosition]) {
true 반환;
}
else {
false 반환;
}
}
/**
* 신분증으로 남성인지 여성인지 판별
* @param idCard 15/18자리 ID 번호
* @return '여성'-여성, '남성'-남성
*/
함수 maleOrFemalByIdCard(idCard){
idCard = Trim(idCard.replace(/ /g, ""));// ID 번호를 처리합니다. 문자 사이에 공백을 포함합니다.
if (idCard.length == 15) {
if (idCard.substring(14, 15) % 2 == 0) {
return 'female';
}
else {
return 'male';
}
}
else
if (idCard.length == 18) {
if (idCard.substring(14, 17) % 2 == 0) {
'여성'을 반환;
}
else {
'남성'을 반환;
}
}
else {
null을 반환;
}
}
/**
* 주민등록번호 18자리에 생일이 맞는지 확인
* @param idCard 주민등록번호 18자리 문자열
* @return
*/
function isValidityBrithBy18IdCard(idCard18){
var year = idCard18.substring(6, 10);
var Month = idCard18.substring( 10, 12);
var day = idCard18.substring(12, 14);
var temp_date = new Date(연도,parseFloat(월) - 1,parseFloat(일));
// 여기 Y2K 문제를 피하기 위해 연도를 얻으려면 getFullYear()를 사용하십시오.
if (temp_date.getFullYear() !=parseFloat(year) ||
temp_date.getMonth() !=parseFloat(month) - 1 ||
temp_date.getDate() !=parseFloat(day)) {
false를 반환;
}
else {
true를 반환;
}
}
/**
* 신분증 번호 15자리에 생일이 맞는지 확인
* @param idCard15 신분증 15자리 문자열
* @return
*/
function isValidityBrithBy15IdCard(idCard15){
var year = idCard15.substring(6, 8);
var Month = idCard15.substring(8, 10);
var day = idCard15 . substring(10, 12);
var temp_date = new Date(year, parseFloat(month) - 1, parseFloat(day));
// 기존 신분증의 나이는 필요하지 않습니다. getYear() 메서드를 사용하는 동안 발생하는 Y2K 버그 문제를 고려하려면
if (temp_date.getYear() !=parseFloat(year) ||
temp_date.getMonth() !=parseFloat(month) - 1 ||
temp_date.getDate( ) !=parseFloat(day)) {
false 반환;
}
else {
true 반환;
}
}
//제거 문자열의 선행 및 후행 공백
function Trim(str){
return str.replace(/(^s*)|(s*$)/g, "");
}


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿