2014-09-19 6 views
1

Как проверить текстовое поле asp с javascript. Я хочу проверить вход пользователя, который является чем-то вроде 4-1/2 или 80-1/2 или 6/8 или 5. Существуют типы шаблонов, которые разрешены и всегда содержат одно число. Я хочу показать предупреждение, когда вход не совпадает.
Я начинаю с javascript.Проверка ввода текста измерения javascript

Мой код Я попробовал.

function valid_Dimentions(fieldObj) { 
// regular expression 
var rgexp = new RegExp(""/^[0-9/-]{1,4}$/""); 
var input = fieldObj.value; 
    if (input.match(rgexp)) 
     alert("The width field format is incorrect!");      
} 

Я использовал это для денег и работал и использовал его для создания моего нерабочего кода.

function valid_number(fieldObj) { 
if (fieldObj.value != '' && isNaN(fieldObj.value)) { 
    alert('You must enter a valid price like 0.00 and no $'); 
    fieldObj.select(); 
    fieldObj.focus(); 
    return false; 
} 
return true; 
} 

...

<asp:TextBox id="TWidth" type="text" runat="server" placeholder="4-1/2" onchange="valid_Dimentions_Width(this);" list="PartType" runat="server" required="required" Width="210px" AutoCompleteType="Disabled" AutoPostBack="True"/> 
+0

используйте шаблон ввода, затем подайте это на js вместо проверки только JS. – dandavis

+0

Вы отсортировали это? – ariel

ответ

0
  • Избегайте использования alert. Вместо этого просто заполните некоторый элемент сообщением об ошибке.
  • Избегайте проверки только на клиенте, подтвердите это и на своей стороне сервера.
  • Ваш if отображает ошибку, когда совпадение истинно. Это должно отрицать это.
  • Ваше регулярное выражение неверно, это просто проверка, если это число от 1 до 4 цифр.
  • Вы можете объявить регулярное выражение, заключив между / «s

Вот регулярное выражение я пришел с:

^([0-9]+|[0-9]+-[0-9]+\/[0-9]+|[0-9]+\/[0-9]+)$ 

Он проверяет, если ваш номер один из следующих действий:

  • Чистый номер: [0-9]+
  • Номер, указанный - по номеру/номеру: [0-9]+-[0-9]+\/[0-9]+
  • номер/Номер: [0-9]+\/[0-9]+

Смотрите, что я должен усиков / с \ поэтому определение регулярных выражений не перепутались.

Вот окончательный код:

function valid_Dimensions_Width(fieldObj) { 
    var error = "" 
    var rgexp = /^([0-9]+|[0-9]+-[0-9]+\/[0-9]+|[0-9]+\/[0-9]+)$/; 
    var input = fieldObj.value; 
    if (!input.match(rgexp)) error = "The width field format is incorrect!"; 
    document.getElementById("TWidthError").innerHTML = error; 
} 

И работая скрипку: http://jsfiddle.net/w3f5skp8/

я заменил onChange для onKeyUp так показывает обратную связь мгновенно.

Смежные вопросы