Как удалить лишние символы в телефонном номере?

Рейтинг: 0Ответов: 1Опубликовано: 06.04.2011

Есть вот такой вот текст задачи:

<SCRIPT LANGUAGE="javascript" TYPE="text/javascript">
function prepare(form) {
    var str = form.phone.value
    var re1 = new RegExp(/[-()/\\]/g)
    str = str.replace(re1,'')
    var re2 = new RegExp(/^\d{7}$/)
    if(!re2.test(str)) {
        alert('Пожалуйста, проверьте правильность телефонного номера')
        form.phone.focus()
        form.phone.select()
        return false
    }
    form.phone.value = str
    alert('Телефонный номер верен')
    return true
}
</SCRIPT>

Его нужно оформить в готовую страницу (открыл ослом и проверил номер из 7-ми символов), от этого зависит мой экзамен, только в моем исполнении он естественно не работает.

Ответы

▲ 2

Был такой вариант, но не успел запостить, пока тут все не поломалось. Плюс в том, что событие висит на form.onsubmit, что отлавливает любые способы отправки формы - как по нажатию на submit, так и простым энтером в поле ввода.

<!DOCTYPE html>  
<html>  
<head><title></title>  
<script type="text/javascript">  
function prepare()  
{  
    var x = document.getElementById('phone');  
    var v = x.value;  
    v = v.replace(/\D/g, ''); //замена не-цифр  
    if(v.length != 7)  
    {  
        alert('Неправильный номер!');  
        return false;  
    }  
    alert(v + ' - правильный номер!');  
    return true;  
}  
</script>  
</head>  
<body>

<form method="post" action="#">  
    <input type="text" name="phone" id="phone" /><input type="submit" value="test" />  
</form>

</body>  
</html>