2016-10-24 9 views
0

のようにしか受け入れることのできない文字列のjavascript関数で特殊文字を数える方法私はタスクにユーザーを入力してカウントし、正常に動作しているカウントを表示しますが、私のプロジェクトでは@#

<!DOCTYPE html> 
<script type="text/javascript"> 
function countChars(countfrom,displayto) 
{ 
    var len = document.getElementById(countfrom).value.length; 
    document.getElementById(displayto).innerHTML = len; 
} 
</script> 


<label>Enter Character</label><br> 
<textarea id="data" cols="40" rows="5" 
onkeyup="countChars('data','charcount');" onkeydown="countChars('data','charcount');" 
onmouseout="countChars('data','charcount');"> 
</textarea><br> 
<span id="charcount">0</span> 
</html> 
+0

はあなたが私が – Araz

+0

なしはあなたが説明することができjavascriptのプロパティの一致を使用することができます。http://www.w3schools.com/jsref/jsref_match.asp – sms

+0

このリンクを参照してください。 – Araz

答えて

1

作業例:あなたは、このいずれかを試すことができます

<label>Enter Character</label><br> 
 
<textarea id="data" cols="40" rows="5" 
 
onkeyup="countChar(this, '@', 'charcount');" onkeydown="countChar(this, '@', 'charcount');" 
 
onmouseout="countChar(this, '@', 'charcount');"> 
 
</textarea><br> 
 
<span id="charcount">0</span> 
 

 

 
<script> 
 
function countChar(container, char, targetId) { 
 
    target = document.getElementById(targetId); 
 
    var regEx = new RegExp(char, 'g'); 
 
    var matches = container.value.match(regEx); 
 
    
 
    if(matches) { 
 
    \t target.innerHTML = matches.length; 
 
    } 
 
} 
 
</script>

1

が、これは一致しましたすべての特殊文字

<!DOCTYPE html> 
 
<script type="text/javascript"> 
 
function countChars() 
 
{ 
 
    var textarea = document.getElementById('data').value; 
 
    var specialCharacters = textarea.match(/[@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/g); 
 

 
    if(specialCharacters == null) return; 
 

 
    document.getElementById('charcount').innerHTML = specialCharacters.length; 
 
} 
 
</script> 
 

 

 
<label>Enter Character</label><br> 
 
<textarea id="data" cols="40" rows="5" 
 
onkeyup="countChars();" onkeydown="countChars();" 
 
onmouseout="countChars();"></textarea> 
 
<span id="charcount">0</span> 
 
</html>

関連する問題