20.07.2012, 01:14
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Сообщение от Demath
|
ак заменить самую первую букву в <input type=text> на заглавную сразу после ввода пользователем?
|
Demath,
Гы поправил - зато нашел крупный недочет в своей методе (нет замены при заглавно-незаглавных буквах в запрещенных
|
|
20.07.2012, 01:38
|
|
Профессор
|
|
Регистрация: 22.06.2012
Сообщений: 168
|
|
Сообщение от Deff
|
При копипасте вставьте два идентичных слова запрещенных - они не будут преобразованы - только первое
|
Вставил два подряд идентичных стоп-слова: помогите, помогите. Также вставлял и без запятых, и слитно.
Все преобразовывается (удаляется).
|
|
20.07.2012, 11:28
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Demath,
Выложите примеры тестовых слов со спецсимволами
|
|
24.07.2012, 12:43
|
|
Профессор
|
|
Регистрация: 22.06.2012
Сообщений: 168
|
|
Я имел ввиду, чтобы нельзя было чередовать русские и латинские буквы (и с цифрами смеси), например, смесь
"пoмoгитe" (латинские выделены жирным)
Можно ли задать условие, чтобы сразу после русской буквы нельзя было ввести ничего, кроме тоже русской буквы, пробела и знака препинания?
|
|
24.07.2012, 12:54
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Demath,
Работа - не благодарная - обычно регеспы цензуры - задаются в Админке,
Извернуться с использованием - можно - как угодно, К примеру обрамить букву в тег черного цвета
Обычно цензура лишь уведомляет неопытного пользователя, а не спецом задавшегося целью обойти её, против лома есть только модерирование и бан
|
|
24.07.2012, 16:10
|
|
Профессор
|
|
Регистрация: 22.06.2012
Сообщений: 168
|
|
Сообщение от Deff
|
Работа - не благодарная - обычно регеспы цензуры - задаются в Админке,
Извернуться с использованием - можно - как угодно, К примеру обрамить букву в тег черного цвета
|
Спасибо за наводку.
Сообщение от Deff
|
Обычно цензура лишь уведомляет неопытного пользователя, а не спецом задавшегося целью обойти её, против лома есть только модерирование и бан
|
Понятно, что этот скрипт не панацея, но, я думаю, что он поможет уменьшить количество некорректных заголовков процентов на 80.
|
|
26.07.2012, 10:47
|
|
Профессор
|
|
Регистрация: 22.06.2012
Сообщений: 168
|
|
Сообщение от Demath
|
- удалении точки, если она является самым последним символом в строке?
|
С этим разобрался, вроде бы (?)
<!DOCTYPE html>
<html>
<head>
<meta http-equiv=content-type content="text/html; charset=utf-8">
<script type="text/javascript">
function deleteEndPoint(obj)
{ obj=document.getElementById('abcd');
var str=obj.value;
if(str.slice(-1)=='.') {obj.value=str.slice(0, -1);
alert('Уважаемый пользователь!\n\nТочка в конце заголовка не ставится.')
}
}
</script>
</head>
<body>
<input style="width: 400px;" id="abcd" onblur="deleteEndPoint(this)">
</body>
</html>
_________________________________________
Как получить следующий символ сразу после заданного?
Нужно, чтобы сразу после русской буквы нельзя было ввести ничего, кроме тоже русской буквы или пробела, или знака препинания.
Последний раз редактировалось Demath, 27.07.2012 в 11:32.
Причина: Исправил кодировку
|
|
26.07.2012, 11:50
|
что-то знаю
|
|
Регистрация: 24.05.2009
Сообщений: 5,176
|
|
Сообщение от Demath
|
Нужно, чтобы сразу после русской буквы нельзя было ввести ничего, кроме тоже русской буквы или пробела, или знака препинания.
|
<input id="inp" type="text" value="Test text now прИвет мир" style="width: 100%;" />
<script>
document.getElementById('inp').onkeypress = function( e ) {
e = e || window.event;
var self = e.target || e.srcElement,
caretPos = 0;
if ( e.which == null ) {
e.which = e.charCode != null ? e.charCode : e.keyCode;
}
if ( e.which == 32 || e.which == 9 || e.which == 8 || e.which == 0 &&
/[\x21\x22\x23\x24\x25\x26\x27\x28\x2E]/.test( String.fromCharCode( e.keyCode ) ) ) {
return;
}
if ( document.selection ) {
self.focus();
var sel = document.selection.createRange();
sel.moveStart( 'character', -self.value.length );
caretPos = sel.text.length;
} else if ( self.selectionStart || self.selectionStart == '0' ) {
caretPos = self.selectionStart;
}
var wordStart = self.value.lastIndexOf( " ", caretPos - 1 ) + 1,
wordEnd = self.value.indexOf( " ", caretPos );
wordEnd = ( wordEnd == -1 ? self.value.length : wordEnd ) - wordStart;
// это наше слово над которым находится курсор
var word = self.value.substr( wordStart, wordEnd ).replace( /^\s+|\s+$/g, '');
var isLatin = !/[а-яё]/i.test( String.fromCharCode( e.keyCode ) );
var isSymbol = !isLatin || /[a-zA-Z]/.test( String.fromCharCode( e.keyCode ) );
return !word || !isSymbol || ( /[а-яё]+/i.test( word ) ? !isLatin : isLatin );
}
</script>
Последний раз редактировалось devote, 26.07.2012 в 12:08.
|
|
26.07.2012, 12:01
|
|
Профессор
|
|
Регистрация: 22.06.2012
Сообщений: 168
|
|
devote, спасибо!
|
|
26.07.2012, 12:02
|
что-то знаю
|
|
Регистрация: 24.05.2009
Сообщений: 5,176
|
|
исправил ошибки
|
|
|
|