Raja Ganapathy Ответов: 4

Как проверить, что текстовое поле имеет хотя бы одну букву и одну цифру, допускающую некоторые специальные символы?


Я хочу проверить текстовое поле.
test_100 допускается
test100 допускается
тест-100_01 разрешен

если в текстовом поле есть только символы, выдайте ошибку.

Что я уже пробовал:

 Regex regex = new Regex(@"^[a-zA-Z0-9 ,.-\\-_]*$");
if (!regex.Match(textbox1.Text).Success)
        {
            Response.Write("Enter number correctly")
        }

я использовал приведенный выше код.этот метод удовлетворяет условию, но

-- (или) _ _ (или) ,,
введите расположенные выше символы в текстовое поле.но я хочу не позволяет выбрасывать сообщение об ошибке.

4 Ответов

Рейтинг:
4

Patrice T

Несколько ссылок, которые помогут справиться с регулярными выражениями, мне особенно нравится последняя.

Вот ссылка на документацию по регулярным выражениям:
perlre - perldoc.perl.org[^]
Вот ссылки на инструменты, помогающие создавать регулярные выражения и отлаживать их:
.Объем тестер регулярное выражение - регулярное выражение шторм[^]
Регулярное Средство Выражения Эспрессо [^]
Это показывает вам регулярное выражение в виде красивого графика, который действительно полезен для понимания того, что делает регулярное выражение:
Debuggex: онлайн-тестер визуальных регулярных выражений. JavaScript, Python и PCRE.[^]


Рейтинг:
33

#realJSOP

Я лично ненавижу использование регулярных выражений. Как насчет этого:

if (string.IsNullOrEmpty((textbox1.Text.Replace("-", "").Replace("_", "").Replace(",",""))
{
    // show error
}


Вы также можете сделать это таким образом:

string symbols = "-_,";
if (textbox1.Text.Where(x=>!symbols.Contains(x)).Count() == 0)
{
    // show error
}


Рейтинг:
21

jgakenhe

Я не люблю использовать регулярные выражения и должен был искать их, но чтобы разрешить 1 символ, 1 число и 1 общий специальный символ, я бы сделал следующее.

И если вы присмотритесь внимательнее, ваш шаблон поиска находится между закругленными скобками.

<!DOCTYPE html>  
<html lang="en">  
<head>  
<title>Validate Passwords</title>
<script type="text/javascript">
    function CheckPassword(txtPassword)   
    {   
		var regEx =  /^(?=.*[a-z])(?=.*[0-9])(?=.*[!@#\$%\^&\*])/;   
		if(txtPassword.value.match(regEx))   
		{   
			alert('That is a correct password.')  
			return true;  
		}  
		else  
		{   
			alert('Not strong enough.')  
			return false;  
		}  
    }
</script>
</head>  
<body onload='document.form1.txtPassword.focus()'>   
<form name="form1" action="#">
password:<input type='text' name='txtPassword'/>
<input type="submit" name="submit" value="Submit" onclick="CheckPassword(document.form1.txtPassword)" /> 
</form>   
</body>  
</html>