我想编写一个代码来检查textarea中的文本是否为ascii,如果ascii将maximaum长度设置为160,如果没有将maxiamum lenghh设置为70,我也希望检查是在用户输入文字,我试过这个,但没有工作,,,任何想法?
<script type="text/javascript">
var maxLength=160;
var Ascii=true;
function isAscii(el) {
var i=0;
while ( i < = el.value.length ){
if(el.value[i].charCodeAt(0) >= 0 && el.value[i]charCodeAt(0) <= 127 ){
i=i+1;
}
else
{
return false
}
}
return true;
}
function characterCount(el) {
if ( isAscii(el)){
Ascii=true;
maxLength=160;
}
else {
Ascii=false
maxLength=70;
}
var charCount = document.getElementById('charCount');
if (el.value.length > maxLength) el.value = el.value.substring(0,maxLength);
if (charCount) charCount.innerHTML = maxLength - el.value.length;
return true;
}
</script>
<textarea name='text' onKeyUp='characterCount(this)' id='textarea' cols='60' rows='10'> </textarea>
答案 0 :(得分:1)
<script type="text/javascript">
var maxLength=160;
var Ascii=true;
function isAscii(el) {
var i=0;
while ( i < el.value.length ){
alert(el.value[i]);
if(el.value[i].charCodeAt(0) >= 0 && el.value[i].charCodeAt(0) <= 127 ){
i=i+1;
}
else
{
return false
}
}
return true;
}
function characterCount(el) {
if ( isAscii(el)){
Ascii=true;
maxLength=160;
}
else {
alert("non-ascii");
Ascii=false
maxLength=70;
}
return true;
}
</script>
<body>
<textarea name='text' onKeyUp='characterCount(this)' id='textarea' cols='60' > </textarea>
</body>
以上代码警告ascii非ascii字符,我发现在更改文本框长度上没有任何意义,但无论如何希望你现在可以这样做。
代码更改:
1)el.value[i].charCodeAt(0) -> .(dot) is missing
2)while ( i < el.value.length ){
在上面的陈述中,您使用了&lt; = ,这又是错误的。