2015-06-30 5 views
0

Могу ли я сделать свое текстовое поле, чтобы разрешить только L & P для двух стартовых букв, введенных пользователем .. Пример: LP12345678901. Я надеюсь, что пример делает вопрос конкретным ...Как разрешить только определенные алфавиты в текстовом поле?

Я попытался это if(myTextBox.Text.StartsWith("LP"))

Я тоже пытался регулярным выражение ... но мы не можем быть конкретными в алфавитах верно?

+0

поэтому он не работал? –

+0

кроме двух букв, другие будут номерами? –

+0

Я не знаю, почему у меня есть -1 .. В любом случае спасибо .. PLZ попробуй помочь .. Я новый для C# и программирования – Kopika

ответ

1

Попробуйте этот код:

private void myTextBox_KeyDown(object sender, KeyEventArgs e) 
{ 
     if (myTextBox.Text.Length == 2) 
      { 
       if (myTextBox.Text.StartsWith("LP")) 
       { 
        //yourcode 
       } 
       else 
       { 
         myTextBox.Text = string.Empty; 
       } 
      } 
} 
0

Это не техническое решение, а скорее предложение UX:

Если я всегда должен ввести «LP», как первые буквы, и я не разрешается вводить различные буквы или цифры, затем дон 't заставляйте меня вводить их каждый раз. Вы уже решили, что «LP» : первые две буквы. Нет смысла вводить его снова. Я не могу получить от этого ничего хорошего. Даже если я прекрасно вхожу в него, лучший результат, который я могу достичь, - «сообщение об ошибке».

Если ваши первые две буквы должны быть «LP», тогда поместите «LP» в качестве метки перед текстовым полем и введите пользователю только цифры. Когда вы работаете с введенным пользователем, прикрепите его к «LP».

+0

Спасибо ... Я тоже об этом подумал .. Не делайте этого .. Но клиент хотел это сообщение об ошибке, если на первых двух буквах нет ЛП .. thats y Я разместил вопрос .. Думаю, я должен убедить его сейчас .. Спасибо u – Kopika

0
public static bool ValidateSerNo(string ser) 
    { 
     if (!string.IsNullOrEmpty(ser)) 
     { 
      if (ser.Trim().Length == 11) 
      { 
       if (ser.Trim().ToUpper().Substring(0, 2) == "LP") 
       { 
        if (Microsoft.VisualBasic.Information.IsNumeric(ser.Substring(2, 9))) 
        { 
         return true; 
        } 
       } 
      } 
     } 
     return false; 
    } 


    private void btn_Save_Click(object sender, EventArgs e) 
    { 
     if ((BattVoltMmnt.ValidateSerNo(txtbox_Serialno.Text.Trim().ToUpper()) == false)) 
     { MessageBox.Show("Enter correct serial number"); 

     } 
    } 
1

Это поможет вам.

function Valid() { 
     var re = "^[LP][0-9]{11}$"; 
     var str = document.getElementById("txtTSection").value; 
     var myArray = str.match(re); 
     if (myArray == null) { 
      alert("Incorrect Format"); 
      $("#txtTSection").css("border-color", "red"); 
      return false; 
     } 
     else { 
      $('#txtTSection').css('border-color', ''); 
     } 
    } 

<asp:TextBox ID="txtTSection" runat="server" CssClass="form-control" TabIndex="1" MaxLength="13" onfocusout="Valid()" ></asp:TextBox> 
Смежные вопросы