[ JQuery ]
- Masked Input Plugin
- http://digitalbush.com/projects/masked-input-plugin/
- JavaScriptの正規表現について
- https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Regular_Expressions
- 999a9999a9999
- 999-9999
- (999)9999-****
上記テストのコード
<style type="text/css">
<!--
input.test1 {
font-size:20px;
}
-->
</style>
<link rel="stylesheet" href="./jquery/css/redmond/jquery-ui-1.10.3.custom.css">
<script src="./jquery/js/jquery-1.9.1.js"></script>
<script src="./jquery/js/jquery-ui-1.10.3.custom.js"></script>
<script src="./jquery/js/jquery.maskedinput.js"></script>
<!-- ===================================================== -->
<script>
$(function() {
$("#input1").mask("9999/99/99",{
completed:function(){
if (! chk_seireki( this.val() ) ){
alert("no seireki");
}
}
});
$("#input2").mask("999a9999a9999");
$("#input3").mask("999-9999");
$("#input4").mask("(999)9999-****");
});
function chk_seireki(v) {
r = true;
if (! /^[12]\d{3}[/]?[01]\d[/]?[0123]\d$/.test( v )) {
r = false;
}
return r;
}
function chk_zipcode(v) {
r = true;
if (! /^\d{3}[-]?\d{4}$/.test( v )) {
r = false;
}
return r;
}
</script>
<!-- ===================================================== -->
<!-- HTML -->
<input type="text" class="test1" id="input1"> - 9999/99/99<br>
<input type="text" class="test1" id="input2"> - 999a9999a9999<br>
<input type="text" class="test1" id="input3"> - 999-9999<br>
<input type="text" class="test1" id="input4"> - (999)9999-****<br>
プラスアルファ
正規表現でチェックする関数と組み合わせるとより、さらに入力した内容をチェックして警告などを表示できる。
r = /[0-9]/.test(v); ・・・ vに半角数字が1文字でも含まれればrがtrue r = /^\w{8,}$/.test(v); ・・・ vが8文字以上ならr=true