2012-04-27 3 views
0

Я работаю с dojo1.7 и здесь я ищу простое регулярное выражение или диапазон/места, которые будут проверять на 10-значный номер телефона из dijit.form.ValidationTextBox.Validation для 10-значного номера телефона в додзё ValidationTextBox

Я хотел бы убедиться, что число составляет ровно 10 цифр, нет букв, дефис или парен или других специальных символов. Кто-нибудь может мне помочь?

ответ

2

Для точных 10 цифр вы можете использовать RegExp \d{10}. Вот рабочий пример:

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8"> 
    <title>Telephone Number Check</title> 
    <link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/dojo/1.7/dijit/themes/claro/claro.css"> 
    <script src="http://ajax.googleapis.com/ajax/libs/dojo/1.7/dojo/dojo.js" data-dojo-config="async: true, parseOnLoad: true"></script> 
    <script> 
     require(["dojo/parser", "dijit/form/ValidationTextBox"]); 
    </script> 
</head> 
<body class="claro"> 
    <label for="tel">Enter your 10 digits telephone number:</label> 
    <input type="text" name="tel" value="" 
    data-dojo-type="dijit.form.ValidationTextBox" 
    data-dojo-props="regExp:'\\d{10}', required:true, invalidMessage:'Invalid telephone number.'"> 
</body> 
</html> 
0
<input id="reverveAmount" required="true" style="width:50px" data-dojo-type="dijit.form.ValidationTextBox" data-dojo-props='maxLength:"3",constraints:{places:1,min:1,max:20}, regExpGen:function(){ return "\\d+" }, required:true, invalidMessage:"Number only"'> 

Это работа хорошо для меня.

+0

Как это отличается от кода принятого ответа? –

0

Для форматирования вы можете переопределить фильтр. По умолчанию фильтр метод исходит от _TextBoxMixin.js, в котором реализованы триммеры, прописные, строчные и строчные.

Это переформатирует значение ValidationTextBox как ### - ### - ####. Просто удалите две линии сращивания, если вы не хотите дефисов. Конечно, вы можете реализовать метод фильтрации другими способами, например, используя dojo/number.

declare('calpoly/form/FormattingPhoneNumber', [ValidationTextBox], { 

    regExp:"\\d{3}-\\d{3}-\\d{4}", 
    invalidMessage:"Please enter a 10-digit phone number", 

    filter:function(val){ 
     val = lang.trim(val); 
     var s = []; 
     for(var i=0; i<val.length;i++){ 
      if(!isNaN(val[i])){ 
       s.push(val[i]); 
      } 
     } 
     if(s.length!=10){ 
      // Not a 10-digit phone number, return what the user typed, regex will invalidate. 
      return val; 
     } 
     s.splice(3,0,'-'); 
     s.splice(7,0,'-'); 
     return s.join(''); 
    } 
}); 

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

  • Нет связанных вопросов^_^