Я делаю форму на своем сайте, но у меня проблема с 2 регулярными выражениями.(У меня есть регулярное выражение PHP и регулярное выражение JS, потому что я прочитал, что опасен только javascript),Вопрос в том, что я не хочу, чтобы у людей были & ^ * # @ и что-то там в названии.
Каково правильное регулярное выражение для этого.
Далее идет Javascript
function checkform ( form )
{
if (form.name.value == "")
{
alert( "Please enter your name." );
form.name.focus();
return false ;
}
if (form.email.value == "")
{
alert( "Please enter your email address." );
form.email.focus();
return false ;
}
return true ;
}
Здесь я хочу то же самое и проверяю, что проверяет пустоту и длину и не # $ ^&!
Для подтверждения электронной почты мне нужно другое регулярное выражение, но я ищу его позже.
Приветствие Йохем
Пожалуйста, измените, если вы видите ошибки.РЕДАКТИРОВАТЬ:
var re и var regex - это регулярные выражения электронной почты, которые я нашел.Но почему они не работают, кто-то может дать мне хороший ответ с объяснением, потому что я не так хорош.:)
function checkform ( form )
{
var rex = /[^a-z]/i;
var regex = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
if (regex.test(form.email.value))
{
alert( "Please enter your email address." );
form.email.focus();
return false ;
}
if (rex.test(form.name.value))
{
alert( "Please enter your name. no numbers or #$^& things allowed)." );
form.name.focus();
return false ;
}
return true ;
}