###前提
現在下記の様にJSを掛けています。
記号が入力されたときにエラーを出したいので、
(漢字:英語:ひらがな:カタカナ)のみを許容しています。
JS
1 $('#last_name').on('keyup',function(){ 2 $("#last_name_error").empty(); 3 var last_name=$(this).val(); 4 if(last_name==""){ 5 $("#last_name_error").html("<i class='fa fa-exclamation-circle'></i> ※入力して下さい。"); 6 $("#last_name").addClass("inp_error"); 7 }else if(!last_name.match(/[亜-熙A-Za-zァ-ロワヲンーぁ-ん]/)){ 8 $('#last_name_error').html("<i class='fa fa-exclamation-circle'></i> ※正しく入力してください"); 9 $("#last_name").addClass("inp_error"); 10 }else if(last_name.length > 8){ 11 $('#last_name_error').html("<i class='fa fa-exclamation-circle'></i> ※8文字以内で入力してください。"); 12 $("#last_name").addClass("inp_error"); 13 } 14 });
###困っていること
記号が存在していても(漢字:英語:ひらがな:カタカナ)
こちらが入力された時点で、OKの処理となってしまう。
佐藤="〇"
@(記号)="×"
佐藤@="〇"
@佐藤="〇"
###質問点
下記該当コードの修正方法をお教え下さい
html
1 }else if(!last_name.match(/[亜-熙A-Za-zァ-ロワヲンーぁ-ん]/)){ 2 $('#last_name_error').html("<i class='fa fa-exclamation-circle'></i> ※正しく入力してください");
かなり難しいですね。
地道に一文字づつ文字コードを読んでOKNGのリスト作るしかしかないのでは...
Javascriptではないですが参考に https://teratail.com/questions/101328
@stdio様 @ikedas様
ご指摘ありがとうございます。
参考にさせていただきます。
全角記号ですもんね。受け入れても良いように思いますが。
https://ja.wikipedia.org/wiki/芸名に句読点が含まれる芸能人の一覧
@mts10806
なるほど、、、今回の課題の設定上そこは考慮していませんが
今後参考にさせていただきます。ありがとうございます
回答1件
あなたの回答
tips
プレビュー