2011-06-06 6 views
5
 <form action="http://www.cknuckles.com/cgi/echo.cgi" method="get" name="logOn"> 
       User Name:<br /> 
      <input type="text" name="userName" size="25" /><br /> 
       Password:<br /> 
      <input type="password" name="pw" size="25" /><br /> 

      <input type="submit" value="Log In" onClick="validate()"/> 
     </form> 

मेरे एचटीएमएल की बात है, मैंने यह पता लगाया है कि खेतों में केवल अल्फा न्यूमेरिकल डेटा कैसे प्राप्त किया जाए, लेकिन मैं इसे केवल उपयोगकर्ता नाम की अनुमति देने के लिए कैसे प्राप्त करूं जो पूंजी से शुरू होता है?इसे कैसे बनाना है ताकि स्ट्रिंग को जावास्क्रिप्ट के साथ पूंजी अक्षर से शुरू करना पड़े?

 <script language="javascript"> 

       </script> 
+0

+1 एक स्वयं-संदर्भ शीर्षक के लिए +1! –

+0

मान्य() फ़ंक्शन की सामग्री क्या है? –

उत्तर

3

इस जांच करने के लिए सबसे आसान तरीका है एक regular expression साथ है:

function(str){ 
    return /^[A-Z]/.test(str); 
} 

रिटर्न true जब इनपुट स्ट्रिंग पूंजी के साथ शुरू होता है, झूठी अन्यथा। (यह विशेष नियमित अभिव्यक्ति - // अक्षरों के बीच बिट्स कह रही है, 'स्ट्रिंग की शुरुआत से मिलान करें, उसके बाद श्रेणी ए-जेड में किसी एक वर्ण के बाद मिलान करें।)

उपरोक्त HTML के संदर्भ में, हम रेगेक्स मैच को कहां जाना है यह निर्धारित करने के लिए वैध() फ़ंक्शन की सामग्री की आवश्यकता होगी।

+2

'। *' अनावश्यक है :) –

+0

मैं इस पर एक पूर्ण नोब हूं - मैं ऊपर दिए गए एचटीएमएल का उपयोग करके एक पूर्ण कार्य में कैसे लिख सकता हूं? टिप्पणियों के जवाब में अब – Jason

+0

संपादन का जवाब। पकड़ने के लिए धन्यवाद, सीडब्ल्यू =) –

0

अपने सत्यापित समारोह में, इस तरह एक regex match का उपयोग करें:

if (titleString.match(/^[A-Z]/)) 
    <ok> 
+0

मैंने कोशिश की कि यह मेरे लिए काम नहीं करेगा, क्या आप पूरा कार्य लिख सकते हैं? – Jason

0
var letter = str[0]; 
if (letter !== letter.toUpperCase()){ 
    //not uppercase! 
} 
+0

गैर-मानक लैटिन वर्णों का समर्थन करने के लिए मुझे इसी तरह के दृष्टिकोण के साथ जाना पड़ा, लेकिन आपको इसे वैध बनाने के लिए कहीं अधिक करने की आवश्यकता है, जैसे कि नियम संख्या, अन्य यादृच्छिक वर्ण इत्यादि – Niklas

+0

'toLowerCase()' के साथ एक अतिरिक्त परीक्षण करने के लिए किसी भी गैर-पत्र सामग्री को बाहर निकालना चाहिए, हालांकि आप शायद अपनी परिस्थितियों को फ़्लिप करना चाहते हैं। 'var isok = (letter === letter.toUpperCase() && letter! == letter.toLowerCase());' – lincolnk

0

यह देखने के लिए जांच करेगा कि उपयोगकर्ता नाम बड़े अक्षर से शुरू होता है में प्रवेश किया, और 5 के बाद आता है - 24 अक्षरांकीय अक्षर ।

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html> 

    <head> 

     <script type="text/javascript"> 

      function validate() { 

       var the_input = document.getElementById('userName').value; 

       if (!the_input.match(/^[A-Z]([A-Z]|[a-z]|[0-9]){5,24}$/)) { 

        alert('Your username must begin with a capital letter, and contain between 6 and 25 alphanumeric characters.'); 

        return false; 

       } else { 

        alert('Welcome!'); 

        return true; 

       } 

      } 

     </script> 

    </head> 

    <body> 

     <form action="http://www.cknuckles.com/cgi/echo.cgi" method="get" name="logOn"> 

      User Name:<br /> 

      <input type="text" name="userName" id="userName" size="25" /><br /> 
      Password:<br /> 
      <input type="password" name="pw" size="25" /><br /> 

      <input type="submit" value="Log In" onclick="return validate();"/> 

     </form> 

    </body> 

</html> 

एक अलग रूप में रूप में, यह ध्यान दिया जाना चाहिए कि इस करता है, तो उपयोगकर्ता जावास्क्रिप्ट बंद कर दिया है काम नहीं करेगा - आप के बजाय (या अतिरिक्त) एक असफल-सुरक्षित के रूप में कुछ सर्वर साइड सत्यापन के लिए इच्छा हो सकती है।

+0

अरे धन्यवाद, मैंने बिल्कुल कोशिश की - यह मेरे लिए काम नहीं करता :(... – Jason

+0

क्या आपने शामिल किया इनपुट फ़ील्ड में 'id =" userName "' साथ ही 'validate()' function? – Gruffy

+0

वह [लेबल] (https://developer.mozilla.org/en/javascript) ' ऑनक्लिक 'विशेषता? – Quentin

संबंधित मुद्दे