2016-11-23 2 views
0

JavaScriptを使用して入力文字列内の@、#などの特殊文字を識別したいのに機能しません。以下は私のJavaScriptコードです。JavaScriptで特殊文字を検出するには

function check_cr_title(selected_cr_str) 
    { 
     if(selected_cr_str != '') 
     { 
      if(selected_cr_str.match(^[@#]+$)) 

      { 
       jQuery("#check_valid_cr_span").html(selected_cr_str + ' Contains Special character.'); 
       jQuery("#check_valid_cr_span").css('color','red'); 
       jQuery("#check_valid_cr_span").css('display','block'); 
       jQuery("#cr_title").val(''); 


      } 
      else 
      { 
       jQuery("#check_valid_cr_span").html(''); 
       jQuery("#check_valid_cr_span").css('display','none'); 

      } 

     } 


    } 

以下のコードを入力しています。

<div class="row"> 
    <div class="column1 columnheader ">CR Title</div> 
    <div class="column2 column-input width100"><input name="cr_tile" type="text" value="" onblur="check_cr_title(this.value)" required></div> 
    <span id="check_valid_cr_span" style="display:none;width:1000px;"></span> 
    </div> 

この解決方法を手伝ってください。

+1

文字列全体が特殊文字で構成されていることを確認しようとしていますか?文字列に特殊文字が含まれているかどうか後者の場合、開始マーカーと終了マーカーを削除する必要があります –

+0

私は文字列として入力しています。私はその文字列に特殊文字が存在するかどうかをチェックしたい。 – bKashOST

+0

[jQueryの特殊文字の検証方法の検証]の可能な複製(http://stackoverflow.com/questions/14949257/jquery-validate-method-checking-for-special-characters) – Shekhu

答えて

0

は、このようにそれを作ってみる:

function check_cr_title(selected_cr_str) 
 
    { 
 
     if(selected_cr_str != '') 
 
     { 
 
      if(selected_cr_str.match(/[@#]/g)) 
 

 
      { 
 
       jQuery("#check_valid_cr_span").html(selected_cr_str + ' Contains Special character.'); 
 
       jQuery("#check_valid_cr_span").css('color','red'); 
 
       jQuery("#check_valid_cr_span").css('display','block'); 
 
       jQuery("#cr_title").val(''); 
 

 

 
      } 
 
      else 
 
      { 
 
       jQuery("#check_valid_cr_span").html(''); 
 
       jQuery("#check_valid_cr_span").css('display','none'); 
 

 
      } 
 

 
     } 
 

 

 
    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="row"> 
 
    <div class="column1 columnheader ">CR Title</div> 
 
    <div class="column2 column-input width100"><input name="cr_tile" type="text" value="" onblur="check_cr_title(this.value)" required></div> 
 
    <span id="check_valid_cr_span" style="display:none;width:1000px;"></span> 
 
    </div>

+0

@と#がこれらの文字が文字列の真中にある場合は動作しません。 – bKashOST

0

unction check_cr_title(selected_cr_str) 
 
    { 
 
     if(selected_cr_str != '') 
 
     { 
 
      if(selected_cr_str.match(('\^[@# ]+$\'))) 
 

 
      { 
 
       jQuery("#check_valid_cr_span").html(selected_cr_str + ' Contains Special character.'); 
 
       jQuery("#check_valid_cr_span").css('color','red'); 
 
       jQuery("#check_valid_cr_span").css('display','block'); 
 
       jQuery("#cr_title").val(''); 
 

 

 
      } 
 
      else 
 
      { 
 
    jQuery("#check_valid_cr_span").html('');    jQuery("#check_valid_cr_span").css('display','none'); 
 

 
      } 
 

 
     } 
 

 

 
    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="row"> 
 
    <div class="column1 columnheader ">CR Title</div> 
 
    <div class="column2 column-input width100"><input name="cr_tile" type="text" value="" onblur="check_cr_title(this.value)" required></div> 
 
    <span id="check_valid_cr_span" style="display:none;width:1000px;"></span> 
 
    </div>

:ここ

if(selected_cr_str.match(/[@#]/g)) 

は完全なコードです