Created
November 18, 2015 08:26
-
-
Save nabettu/0e19333d05f95ec0646e to your computer and use it in GitHub Desktop.
ひらがな以外を除外する
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var familyname = "もじれつ"; | |
/** | |
* 入力が許容された文字列かチェック | |
*/ | |
var oklist = []; | |
$.each( familyname.split(''), function( i, value ){ | |
var checked = inputValid( value ); | |
if( checked ){ | |
// OK, push | |
oklist.push( checked ); | |
} else { | |
familyname = ''; | |
} | |
if( oklist.length > 0 ){ | |
// 0 文字以上か, 有れば連結 | |
familyname = oklist.join(''); | |
} else { | |
familyname = ''; | |
} | |
}); | |
/** | |
* 文字列のバリデーション | |
* @param {string} value 文字 | |
*/ | |
function inputValid( value ){ | |
var return_string = value; | |
// ひらがなであれば返す | |
if( value.match(/^[\u3040-\u309F]+$/gi) ){ | |
// 小書き文字を大文字へ(ぁぃぅぇぉゃゅょゎぉっ) | |
if( value.match(/^[\u3041\u3043\u3045\u3047\u3049\u3083\u3085\u3087\u308e\u3049\u3063]+$/gi) ){ | |
return_string = String.fromCharCode( value.charCodeAt(0) + 1 ); | |
} | |
// を→お | |
if( value.match(/^[\u3092]+$/gi) ){ | |
return_string = 'お'; | |
} | |
// ゔ→ぶ | |
if( value.match(/^[\u3094]+$/gi) ){ | |
return_string = 'ぶ'; | |
} | |
// ゑ→え ゐ→い | |
if( value.match(/^[\u3091]+$/gi) ){ | |
return_string = 'え'; | |
} | |
if( value.match(/^[\u3090]+$/gi) ){ | |
return_string = 'い'; | |
} | |
return return_string; | |
// カタカナにマッチするか | |
} else if( value.match(/[\u30a1-\u30f6]+$/gi) ){ | |
// ヴ→ぶ | |
if( value.match(/^[\u30f4]+$/gi) ){ | |
return_string = 'ぶ'; | |
return return_string; | |
} | |
// 小文字例外(ァィゥェォャュョヮォッ)→変換 | |
if( value.match(/^[\u30a1\u30a3\u30a5\u30a7\u30a9\u30e3\u30e5\u30e7\u30ee\u30a9\u30c3]+$/gi) ){ | |
return_string = String.fromCharCode( value.charCodeAt(0) - 0x60 ); | |
return_string = String.fromCharCode( value.charCodeAt(0) + 1 ); | |
return return_string; | |
} | |
// 小文字例外(ヵㇰヶㇱㇲㇳㇴㇵㇶㇷㇷ゚ㇸㇹㇺㇻㇼㇽㇾㇿ)→許可しない | |
if( value.match(/^[\u30f5\u31f0\u30f6\u31f1\u31f2\u31f3\u31f4\u31f5\u31f6\u31f7\u31f7\u309a\u31f8\u31f9\u31fa\u31fb\u31fc\u31fd\u31fe\u31ff]+$/gi) ){ | |
//return_string = String.fromCharCode( value.charCodeAt(0) + 1 ); | |
return false; | |
} | |
// カタカナは変換 | |
return_string = String.fromCharCode( value.charCodeAt(0) - 0x60 ); | |
return return_string; | |
//それ以外 | |
} else { | |
return false; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment