Я использую 2 метода, чтобы проверить, не вводит ли пользователь слишком много символов в текстовое поле:
1) (пассивный) PHP:
$textarea = $_POST['textarea'];
if (strlen($textarea)>300){$verify="bad";}
2) (активная белая типизация) Javascript:
function ismaxlength(obj)
{
var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : ""
if (obj.getAttribute && obj.value.length>mlength)
obj.value=obj.value.substring(0,mlength)
}
И само текстовое поле выглядит следующим образом (html):
<textarea name="textarea" id="textarea" cols="40" rows="5" style="border: 1px solid #480091; width:460px;" wrap="soft" maxlength="300" onpaste="return ismaxlength(this)" onkeyup="return ismaxlength(this)"></textarea>
Оба метода работают, кроме функции PHP strlen () кажется, что возвращаемые значения (разрывы строк) подсчитываются иначе, чем моя функция Javascript.
Кто-нибудь знает, как решить эту проблему, чтобы они оба считали одинаковые символы #, независимо от разрывов строк и пробелов и т. д.
Большое спасибо !