フォームのメールアドレスはJavaScriptで能動的に半角に変換してみるとどうだろう
スポンサードリンク
メールアドレス入力欄をフォームで作るとき、WindowsのIEだと、CSSでかな漢字変換の制御ができるので全角ローマ字を入力させないことが可能ですけれども、それ以外のブラウザだとWinIE独自の構文なんてスルーされてしまうので、ここは全角のローマ字で入力されたらすぐに半角に直す、みたいなアプローチをとる場面なのかなー
全角ローマ字で入力すると半角になるよ

アイコンはおなじみfamfamfamです。
http://www.famfamfam.com/lab/icons/
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="content-script-type" content="text/javascript" />
<script type="text/javascript">
<!--
/* $関数 */
if (typeof $ != 'function') {
$ = function(id) { return document.getElementById( id ) }
}
/* String.z2h_ascii() を拡張します
via http://homepage3.nifty.com/aokura/jscript/z2h_ascii.html */
if (typeof String.z2h_ascii == 'undefined') {
String.prototype.z2h_ascii = function () {
var src = this;
var str = new String;
var len = src.length;
for (var i = 0; i < len; i++) {
var c = src.charCodeAt(i);
if (c >= 65281 && c <= 65374 && c != 65340) {
str += String.fromCharCode(c - 65248);
} else if (c == 8217) {
str += String.fromCharCode(39);
} else if (c == 8221) {
str += String.fromCharCode(34);
} else if (c == 12288) {
str += String.fromCharCode(32);
} else if (c == 65507) {
str += String.fromCharCode(126);
} else if (c == 65509) {
str += String.fromCharCode(92);
} else {
str += src.charAt(i);
}
}
return str;
}
}
function pageStart() {
addEvent();
validate('email');
}
function addEvent() { // input要素にチェック用イベント付加(MacIE5考慮)
$('email').onchange = function() {
this.value = this.value.z2h_ascii();
validate(this.id);
}
}
function validate(id) {
var imgDir = 'http://blog.dtpwiki.jp/photos/uncategorized';
var array = {
'email' : '^([^@\\s]+)@(([-a-z0-9]+\\.)+[a-z]{2,})$'
};
var o = array[ id ];
if(typeof o == 'undefined') {
return;
}
var regex = new RegExp(o);
var elmInput = $(id);
var elmImg = $('s_' + id );
if ( elmInput.value == '') {
elmImg.src = imgDir + '/' + 'textfield.png';
return;
}
else if (elmInput.value.match( regex ) ) {
elmImg.src = imgDir + '/' + 'tick.png';
return true;
}
else {
elmImg.src = imgDir + '/' + 'cross.png';
return false;
}
return;
}
window.onload = function() { pageStart(); };
// -->
</script>
<style>
<!--
textarea, select, input {
font-family : "ヒラギノ角ゴ Pro W3", "Hiragino Kaku GothicPro", Osaka,
Helvetica, Arial, Verdana, "MS Pゴシック", sans-serif;
}
-->
</style>
</head>
<body>
<img src="http://blog.dtpwiki.jp/photos/uncategorized/textfield.png" id="s_email" />
<input id="email" size="40" />
<input type="button" value="送信(NOP)" />
</body>
</html>
スポンサードリンク
トラックバック(0)
トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/2290





![: Amazon.co.jp: プラスティック・メモリーズ 1【完全生産限定版】(イベントチケット優先販売申込券付) [Blu-ray]](/lists/_9/B00VWX66E8.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 2【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX66K2.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 3【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX6MV0.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 4【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX66IO.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 5【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX6Y0E.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 6【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX69D6.jpg)


コメントする