gpt4 book ai didi

javascript防止在n个utf 8字符之后写入表单元素

转载 作者:行者123 更新时间:2023-11-30 00:02:19 24 4
gpt4 key购买 nike

我对数据库、表和表行使用 utf8_unicode_ci 排序规则。

我的网站语言将包含不常见的字符,例如 ş、Ğ、ö、ü、ç、I

我有服务器端验证和验证规则,但是为了访问者的舒适度,我想使用以下 JavaScript 代码:

1-) 防止在实现实时倒计时时在 n utf8 个字符之后写入表单输入。

2-) 我需要轻松填充 JavaScript 函数,因为不同的表单输入在同一 html 页面中具有不同的 n

我搜索了我的目标,不幸的是我只能从下面给出的SO中找到部分内容(Count bytes in textarea using javascript)

它计算 UTF8 时文本区域的长度(以字节为单位)。

getUTF8Length: function(string) {
var utf8length = 0;
for (var n = 0; n < string.length; n++) {
var c = string.charCodeAt(n);
if (c < 128) {
utf8length++;
}
else if((c > 127) && (c < 2048)) {
utf8length = utf8length+2;
}
else {
utf8length = utf8length+3;
}
}
return utf8length;
}

我还在 http://jsbin.com/fafonimo/3/edit 上创建了一个示例和简单的 HTML 5 表单。下面也给出了(一些回答者可能想利用):

HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JS Bin</title>
</head>
<body>
<form method="post" action="#">
<!--Fıstıkçı Şahap öğlen ülüküsü çerçöp-->
<!--35 characters above-->
<label class="c1" for="id-input">NAME OF THE AUTHOR</label>
<input class="c1" type="text" id="id-input" name="author">
<input class="c1" type="submit" value="Send">
</form>
</body>
</html>

CSS

.c1 {width:80%; line-height:1em; padding:1em;margin:1em 10%;}

这绝对不是我对 PHP 或 MySQL 的态度,但很抱歉直接请求解决方案代码。

问候

最佳答案

我在这里找到了答案http://jsfiddle.net/67XDq/7/

问候

HTML

<tr id="rq17">
<td class='qnum'>17.</td>
<td class='qtext'>Questions? <i>Maximum of 500 characters - <input style="color:red;font-size:12pt;font-style:italic;" readonly type="text" id='q17length' name="q17length" size="3" maxlength="3" value="500"> characters left</i><br/><textarea onKeyDown="textCounter(this,500);"
onKeyUp="textCounter(this,'q17length' ,500)" class="scanwid" name="q17" id="q17" rows="5" cols=""></textarea></td>
</tr>

JS

function textCounter(field,cnt, maxlimit) {         
var cntfield = document.getElementById(cnt)
if (field.value.length > maxlimit) // if too long...trim it!
field.value = field.value.substring(0, maxlimit);
// otherwise, update 'characters left' counter
else
cntfield.value = maxlimit - field.value.length;
}

关于javascript防止在n个utf 8字符之后写入表单元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24915244/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com