ページJavaScript検証機能

高洛峰
高洛峰オリジナル
2016-11-25 13:22:22922ブラウズ

/************************************************* ***********************************/
/***************************************番号の確認********* ** *****************************/
/************************************************* ***********************************/
/**
* 入力された文字列がすべて数字かどうかを確認します
* 入力: str 文字列
* 戻り値: true または false true は数値で表されます
*/
function checkNum(str){
return str.match(/ D/) == null;
}

/**
* 入力された文字列が 10 進数であるかどうかを確認します
* 入力: str 文字列
* 戻り値: true または flase true は 10 進数を表します
*/
function checkDecimal(str){
if (str.match(/^-?d+(.d+)?$/g) == null ) {
return false;
}
else {
return true;
}
}
/**
* 入力された文字列が整数データかどうかを確認します
* 入力: str 文字列
* 戻り値: true または flase true は 10 進数で表されます
*/
function checkInteger(str){
if (str.match(/^[-+]?d *$/) == null) {
return false;
}
else {
return true;
}
}
/************************************************* ***********************************/
/***************************************文字の検証********** ** *****************************/
/************************************************* ********************************* **/

/**
* 入力された文字列が文字であるかどうかを確認します
* 入力: str string
* 戻り値: true または flase; true は、すべての文字が文字であり、漢字が含まれていないことを意味します
*/
function checkStr(str){
if (/[^x00-xff]/g.test(str)) {
return false;
}
else {
return true;
}
}

/**
* 入力された文字列に中国語の文字が含まれているかどうかを確認します
* 入力: str string
* 戻り値: true または false true は中国語の文字を含むことを意味します
*/
function check Chinese(str){
if (escape(str).indexOf("%u") != -1) {
return true;
}
else {
return false;
}
}

/**
* 入力されたメール形式が正しいかどうかを確認します
* 入力: str string
* 戻り値: true または Flase 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;
}
}

/**
* 入力された携帯電話番号の形式が正しいかどうかを確認してください
* 入力: str 文字列
* 戻り値: true または Flase; true は形式が正しいことを意味します
*/
function checkMobilePhone(str){
if (str.match(/^(?:13d|15[89])-?d{5}( d{3}|*{3})$/) == null) {
return false;
}
else {
return true;
}
}

/**
* 入力された固定電話番号が正しいか確認してください
* 入力: str string
* 戻り値: true または flase; true は形式が正しいことを意味します
*/
function checkTelephone(str){
if (str.match(/^(([0+]d{2,3}-)?(0d{2,3})-) (d{7,8})(-(d{3,}))?$/) == null) {
return false;
}
else {
return true;
}
}
/**
* QQ の形式が正しいかどうかを確認します
* 入力: str string
* 戻り値: true または flase; true は形式が正しいことを意味します
*/
function checkQQ(str){
if (str.match(/^d{5,10}$/) == null) {
return false;
}
else {
return true;
}
}
/**
* 入力された ID 番号が正しいか確認してください
* 入力: str string
* 戻り値: true または Flase true は形式が正しいことを意味します
*/
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 {
return true;
}
}
/**
* 入力された IP アドレスが正しいかどうかを確認します
* 入力: str string
* 戻り値: true または flase 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 ) {
return false;
}
else {
return true;
}
}
/**
* 入力された URL アドレスが正しいかどうかを確認します
* 入力: str string
* 戻り値: true または Flase true は形式が正しいことを意味します
*/
function checkURL(str){
if (str.match(/(http[s]?| ftp) ://[^/.]+?...+w$/i) == null) {
return false
}
else {
return true;
}
}
/**
* 入力された文字に特殊文字が含まれているかどうかを確認します
* 入力: str 文字列
* 戻り値: true または flase; true は特殊文字が含まれていることを意味します
* 主に情報を登録する際の検証に使用されます
*/
function checkQuote(str){
var items = new Array("~", "`", "!", "@", "#", "$", "%", "^", "&", "* ", "{", "}", "[", "]", "(", ")");
items.push(":", ";", "'", "|", "\ "、"<"、">"、"?"、"/"、"<<"、">>"、"||"、"//");
items.push( "管理者", "管理者", "管理者", "管理者", "システム管理者");
items.push("選択", "削除", "更新", "挿入", "作成" , "ドロップ" , "alter", "trancate");
str = str.toLowerCase();
for (var i = 0; i if (str.indexOf(items[ i]) > ;= 0) {
return true;
}
}
return false;
}

/************************************************* ***********************************/
/*************************************時刻の確認************ * ****************************/
/************************************************* ***********************************/
/**
* 日付形式が正しいかどうかを確認します
* 入力: str 文字列
* 戻り値: true または flase; true は形式が正しいことを意味します
* 注: ここでは中国語の日付形式を確認できません
* 短い日付を確認してください (2007-06-) 05)
*/
function 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 (value == null) {
return false;
}
else {
var date = new Date(value[1], value[3] - 1, value[4]);
return (date.getFull Year() == value[1] && (date.getMonth() + 1) == value[3] && date.getDate() = = value[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 (value == null) {
return false;
}
else {
if (value[1] > 24 ||値[3] > 60 ||値[4] > 60) {
return false
}
else {
return true;
}
}
}
/**
* 完全な日付と時刻の形式が正しいかどうかを確認します
* 入力: str 文字列
* 戻り値: true または flase; true は形式が正しいことを意味します
* (2007-06-05 10:57:10)
*/
function 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 値 = 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.getFull Year() == value[1] && (date.getMonth() + 1) == value[3] && 日付。 getDate() == value[4] && date.getHours() == value[5] && date.getMinutes() == value[6] && date.getSeconds() == value[7]);
return true ;
}

}

/************************************************* ***********************************/
/**************************************ID番号の確認********** ** **************************/
/************************************************* ***********************************/
/**
* IDカードの15桁のコーディング規則: dddddd yymmdd xx p
* dddddd: 市外局番
* yymmdd: 生年月日
* xx: 連続コーディング、特定できません
* p: 性別、奇数は男性、偶数番号は女性です
*


* IDカードの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 は 2..右から左に数えた ID カード番号の .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
function IdCardValidate(idCard){
idCard =rim(idCard.replace(/ /g, ""));
if (idCard) .length == 15) {
return isValidityBrithBy15IdCard(idCard);
}
else
if (idCard.length == 18) {
var a_idCard = idCard.split("");// IDカード配列を取得
if ( IsvalidityBRIDHBY18idCard (IDCard) && iStrueValidateCodeby18idCard (A_IDCARD) {
Return True; AReturn false;
}}}
/**
* ID番号が18桁の場合、最後の認証桁が正しいか判定
* @param a_idCard IDカード番号配列
* @return
*/
Function isTrueValidateCodeBy18IdCard(a_idCard){
var sum = 0; // 加重合計を宣言variable
if (a_idCard[17].toLowerCase() == 'x') {
a_idCard[17] = 10; // valCodePosition の検証コードを置き換えます = sum % 11; // 検証を取得します。コード位置
if (a_idCard[17] == ValideCode[valCodePosition]) {
return true;
}
else {
return false;
}
}
/**
* IDカードで男性か女性かを判断します
* @param idCard 15/18桁のID番号
* @return '女性'-女性、'男性'-男性
*/
function MaleOrFemalByIdCard(idCard){
idCard = trim(idCard.replace(/ /g, ""));// ID番号を処理します。文字の間にはスペースを入れてください。
if (idCard.length == 15) {
if (idCard.substring(14, 15) % 2 == 0) {
return '女性';
}
else {
return '男性';
}
}
else
if (idCard.length == 18) {
if (idCard.substring(14, 17) % 2 == 0) {
return '女性';
}
else {
return '男性';
}
}
else {
return null;
}
}
/**
* 18桁のIDカード番号の誕生日が有効な誕生日かどうかを確認します
* @param idCard 18桁のIDカード文字列
* @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(year, parseFloat(month) - 1, parseFloat(day));
// ここで getFull Year() を使用して取得しますY2K 問題を回避するための年です
if (temp_date.getFull Year() != parseFloat(year) ||
temp_date.getMonth() != parseFloat(month) - 1 ||
temp_date.getDate() != parseFloat( day)) {
return false;
}
else {
return true;
}
}
/**
* 15桁のID番号に含まれる誕生日が有効な誕生日であるか確認します
* @param idCard15 15桁のIDカード文字列
* @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));
/ / 古い場合 ID カードに記載されている年齢は、2000 年問題を考慮して get Year() メソッドを使用する必要はありません
if (temp_date.get Year() != parseFloat(year) ||
temp_date.getMonth() != parseFloat( month) - 1 |
temp_date.getDate() != parseFloat(day)) {
return false;
}
else {
return true;
}
}
//文字列
関数から先頭と末尾のスペースを削除しますトリム(str){
return str.replace(/(^s*)|(s*$)/g, "");
}



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。