2010-05-08 12 views
13

मैं ऐसे फ़ील्ड को सत्यापित करने के लिए jQuery की सत्यापन प्लगइन का उपयोग करना चाहता हूं जो केवल वर्णमाला वर्ण स्वीकार करता है, लेकिन इसके लिए एक निर्धारित नियम प्रतीत नहीं होता है। मैंने Google की खोज की है लेकिन मुझे कुछ भी उपयोगी नहीं मिला है।jQuery सत्यापन प्लगइन: केवल वर्णमाला वर्ण स्वीकार करें?

कोई विचार?

आपकी सहायता की सराहना करें। http://ajax.microsoft.com/ajax/jquery.validate/1.7/additional-methods.js

आप lettersonly नियम का उपयोग कर सकते :) अतिरिक्त तरीकों जिप आप डाउनलोड का हिस्सा हैं, आप हमेशा नवीनतम here पा सकते हैं:

उत्तर

69

आप अतिरिक्त तरीकों फ़ाइल को शामिल करते हैं, तो यहां 1.7 के लिए वर्तमान फ़ाइल है ।

$("form").validate({ 
    rules: { 
    myField: { lettersonly: true } 
    } 
}); 

यह ध्यान देने योग्य है, प्रत्येक अतिरिक्त विधि स्वतंत्र है, आप उस विशिष्ट एक, शामिल कर सकते हैं बस अपने .validate() कॉल करने से पहले रखें::

jQuery.validator.addMethod("lettersonly", function(value, element) { 
    return this.optional(element) || /^[a-z]+$/i.test(value); 
}, "Letters only please"); 
+0

^[ए-ज़ा-जेड] + $ पूंजी अक्षरों को स्वीकार करने के लिए, या लोअरकेस() फ़ंक्शन के साथ लोअर केस पर सेट मान सेट करें। –

+0

'this.optional (element) के लिए अपवृत ||' – Pankaj

4

बस एक छोटा सा

यहाँ एक उदाहरण है निक के उत्तर के अलावा (जो बहुत अच्छा काम करता है!):

यदि आप अक्षरों के बीच रिक्त स्थान की अनुमति देना चाहते हैं, उदाहरण के लिए, आप केवल पूर्ण नामों में अक्षरों को दर्ज करने के लिए प्रतिबंधित हो सकते हैं, लेकिन इसे अंतरिक्ष को भी अनुमति देनी चाहिए - बस एक अल्पविराम के साथ नीचे दी गई जगह सूचीबद्ध करें। ,

jQuery.validator.addMethod("lettersonly", function(value, element) 
{ 
return this.optional(element) || /^[a-z," "]+$/i.test(value); 
}, "Letters and spaces only please");  
13

सावधान रहें

jQuery.validator.addMethod("lettersonly", function(value, element) 
{ 
return this.optional(element) || /^[a-z," "]+$/i.test(value); 
}, "Letters and spaces only please"); 

[az, ""] अल्पविराम और उद्धरण चिह्नों जोड़कर, आप रिक्त स्थान की अनुमति देते हैं: और उसी तरह से आप किसी भी अन्य विशिष्ट चरित्र अनुमति देने के लिए की जरूरत है , इनपुट बॉक्स में अल्पविराम और उद्धरण चिह्न।

रिक्त स्थान + पाठ के लिए, बस ऐसा करते हैं:

jQuery.validator.addMethod("lettersonly", function(value, element) 
{ 
return this.optional(element) || /^[a-z ]+$/i.test(value); 
}, "Letters and spaces only please"); 

[a-z] इस रिक्त स्थान के रूप में अच्छी अनुमति देता है केवल पाठ के रूप में।

.............................................. .............................

यह भी संदेश "पत्र और रिक्त स्थान केवल कृपया" की आवश्यकता नहीं है, अगर आप

messages:{ 
     firstname:{ 
     required: "Enter your first name", 
     minlength: jQuery.format("Enter at least (2) characters"), 
     maxlength:jQuery.format("First name too long more than (80) characters"), 
     lettersonly:jQuery.format("letters only mate") 
     }, 

एडम

2

दोनों निक और एडम जवाब वास्तव में अच्छी तरह से काम: पहले से ही संदेशों में एक संदेश है।

मैं एक टिप्पणी जोड़ना चाहते अगर आप á और ç की तरह लैटिन वर्णों की अनुमति करना चाहते हैं के रूप में मैं करना चाहता था:

jQuery.validator.addMethod('lettersonly', function(value, element) { 
    return this.optional(element) || /^[a-z áãâäàéêëèíîïìóõôöòúûüùçñ]+$/i.test(value); 
}, "Letters and spaces only please"); 
+1

धन्यवाद! लेकिन आप भी भूल गए हैं :) – Andres

+0

धन्यवाद, @ एंड्रेस! मैंने अभी अपना जवाब अपडेट किया और 'ñ' जोड़ा – FlavioEscobar

1

अनुमति देने के लिए पत्र ans रिक्त स्थान

jQuery.validator.addMethod("lettersonly", function(value, element) { 
return this.optional(element) || /^[a-z\s]+$/i.test(value); 
}, "Only alphabetical characters"); 

$('#yourform').validate({ 
     rules: { 
      name_field: { 
       lettersonly: true 
      } 
     } 
    }); 
0
$('.AlphabetsOnly').keypress(function (e) { 
     var regex = new RegExp(/^[a-zA-Z\s]+$/); 
     var str = String.fromCharCode(!e.charCode ? e.which : e.charCode); 
     if (regex.test(str)) { 
      return true; 
     } 
     else { 
      e.preventDefault(); 
      return false; 
     } 
    }); 
संबंधित मुद्दे