வெற்று சரங்கள் மற்றும் மின்னஞ்சல் சரிபார்ப்புக்கான மாஸ்டரிங் Regex
வெற்று சரம் மற்றும் செல்லுபடியாகும் மின்னஞ்சல் இரண்டும் ஏற்றுக்கொள்ளக்கூடிய பயனர் உள்ளீட்டைச் சரிபார்க்கும் சவாலில் நீங்கள் எப்போதாவது தடுமாறியிருக்கிறீர்களா? இது முதலில் நேரடியாகத் தோன்றலாம், ஆனால் சரியான தீர்வைக் கண்டறிதல், குறிப்பாக ஒற்றை ரெஜெக்ஸ், தந்திரமானதாக இருக்கலாம். விருப்பப் புலங்கள் காலியாக விடப்படும் அல்லது செல்லுபடியாகும் மின்னஞ்சல் முகவரிகளைக் கொண்டிருக்கும் இணையப் படிவங்களில் தேவை அடிக்கடி எழுகிறது. 🤔
டெவலப்பர்களாக, பயனர் பதிவின் போது விருப்ப மின்னஞ்சல் புலங்கள் போன்ற சூழ்நிலைகளை நாங்கள் சந்திக்கிறோம். அத்தகைய சந்தர்ப்பங்களில், சரியான கைவினை ரெஜெக்ஸ் முறை தடையற்ற சரிபார்ப்புக்கு முக்கியமானது. எவ்வாறாயினும், எதையும் அனுமதிக்காமல், மின்னஞ்சலைச் சரிபார்ப்பதற்கும் இடையில் இந்த சமநிலையை அடைவது, தோன்றும் அளவுக்கு எளிதானது அல்ல.
பதிவுபெறும் பக்கத்திற்கான உள்ளீட்டு புலத்தில் நீங்கள் வேலை செய்கிறீர்கள் என்று கற்பனை செய்து பாருங்கள். மின்னஞ்சலை நிரப்ப வேண்டாம் என்று பயனர் முடிவு செய்தால், பரவாயில்லை, ஆனால் அவர்கள் செய்தால், அது சரியாக வடிவமைக்கப்பட வேண்டும். Regex இன் ஒற்றை வரியுடன் இதை உறுதிசெய்வது உங்கள் குறியீட்டில் தலைவலி மற்றும் தேவையற்ற சிக்கலைச் சேமிக்கும். 🛠️
இந்த கட்டுரை அத்தகைய ஒன்றை உருவாக்குவதற்கான நுணுக்கங்களில் மூழ்குகிறது ரெஜெக்ஸ் முறை, சரிபார்ப்பு ஒரு வெற்று சரம் அல்லது சரியாக வடிவமைக்கப்பட்ட மின்னஞ்சல் முகவரியை ஏற்க வேண்டிய சூழ்நிலைகளுக்கு தெளிவை வழங்குகிறது. இந்த தொழில்நுட்ப மற்றும் நடைமுறை தீர்வை எவ்வாறு தேர்ச்சி பெறுவது என்பதை ஆராய்வோம். 🚀
கட்டளை | பயன்பாட்டின் உதாரணம் |
---|---|
re.match() (Python) | கொடுக்கப்பட்ட வழக்கமான வெளிப்பாடு வடிவத்துடன் சரம் பொருந்துகிறதா என்பதைச் சரிபார்க்கப் பயன்படுகிறது. எடுத்துக்காட்டாக, re.match(r'^[a-zA-Z]+$', 'Hello') சரத்தில் அகரவரிசை எழுத்துக்கள் மட்டுமே உள்ளதா என்பதைச் சரிபார்க்கும். |
preg_match() (PHP) | PHP இல் வழக்கமான வெளிப்பாடு பொருத்தத்தை செய்கிறது. எடுத்துக்காட்டாக, preg_match('/^[0-9]+$/', '123') உள்ளீடு எண்ணாக உள்ளதா என்பதைச் சரிபார்க்கிறது. |
const regex (JavaScript) | JavaScript இல் ஒரு வழக்கமான வெளிப்பாடு பொருளை வரையறுக்கிறது. எடுத்துக்காட்டாக, const regex = /^[a-z]+$/; சிற்றெழுத்துகளுடன் பொருந்த ஒரு ரீஜெக்ஸை உருவாக்குகிறது. |
test() (JavaScript) | ஒரு சரம் வடிவத்துடன் பொருந்துகிறதா என்று சோதிக்க வழக்கமான வெளிப்பாடு பொருளின் முறை. எடுத்துக்காட்டு: சரம் பொருந்தினால் regex.test('abc') true என்பதை வழங்கும். |
@app.route() (Flask) | பிளாஸ்க் பயன்பாட்டில் ஒரு வழியை வரையறுக்கிறது. எடுத்துக்காட்டாக, @app.route('/validate') ஒரு URL பாதையை பைதான் செயல்பாட்டிற்கு வரைபடமாக்குகிறது. |
request.json (Flask) | POST கோரிக்கையில் அனுப்பப்பட்ட JSON தரவை மீட்டெடுக்கிறது. எடுத்துக்காட்டு: தரவு = request.json JSON பேலோடைப் பிரித்தெடுக்கிறது. |
jsonify() (Flask) | பைதான் அகராதியை JSON பதிலுக்கு மாற்றுகிறது. எடுத்துக்காட்டு: திரும்ப jsonify({'key': 'value'}) கிளையண்டிற்கு JSON பொருளை வழங்குகிறது. |
foreach (PHP) | PHP இல் உள்ள வரிசைகள் மூலம் மீண்டும் மீண்டும் வருகிறது. எடுத்துக்காட்டு: foreach($array as $item) $array இல் உள்ள ஒவ்வொரு உறுப்பு வழியாகவும் சுழல்கிறது. |
test() (Jest) | Defines a unit test in Jest. For example, test('validates email', () =>ஜெஸ்டில் ஒரு யூனிட் சோதனையை வரையறுக்கிறது. எடுத்துக்காட்டாக, சோதனை('மின்னஞ்சலைச் சரிபார்க்கிறது', () => {...}) மின்னஞ்சல் உள்ளீட்டைச் சரிபார்க்க ஒரு சோதனை வழக்கை உருவாக்குகிறது. |
console.log() (JavaScript) | இணைய கன்சோலுக்கு செய்திகளை வெளியிடுகிறது. எடுத்துக்காட்டாக, console.log('Hello World') கன்சோலில் "Hello World" என்று அச்சிடுகிறது. |
மின்னஞ்சல்கள் மற்றும் வெற்று சரங்களுக்கான சரிபார்ப்பு ஸ்கிரிப்ட்களைப் புரிந்துகொள்வது
ஒரு வெற்று சரம் அல்லது சரியான மின்னஞ்சல் முகவரி முன்-இறுதி மற்றும் பின்-இறுதி வளர்ச்சியில் மிகவும் நடைமுறை நோக்கத்திற்காக உதவுகிறது. ஜாவாஸ்கிரிப்டில், செயல்பாடு a ஐப் பயன்படுத்துகிறது ரெஜெக்ஸ் முறை இது வெற்று உள்ளீடு அல்லது மின்னஞ்சலைப் போன்று வடிவமைக்கப்பட்ட சரத்தை சரிபார்க்கிறது. முக்கிய தர்க்கம் இதில் இணைக்கப்பட்டுள்ளது சோதனை ரெஜெக்ஸ் பொருளின் முறை, உள்ளீடு இந்த அளவுகோல்களில் ஒன்றைச் சந்திக்கிறதா என்பதை தீர்மானிக்கிறது. எடுத்துக்காட்டாக, பதிவுபெறும் படிவத்தை நிரப்பும் பயனர் மின்னஞ்சல் புலத்தைத் தவிர்க்கலாம், மேலும் அத்தகைய நடத்தை கணினியை உடைக்காது என்பதை இந்த தர்க்கம் உறுதி செய்கிறது. உடனடி கருத்து தேவைப்படும் டைனமிக் இணைய சூழல்களில் இந்த தீர்வு குறிப்பாக பயனுள்ளதாக இருக்கும். 😊
பைதான் பிளாஸ்க் அடிப்படையிலான ஸ்கிரிப்ட் சரிபார்ப்பைக் கையாள ஒரு வலுவான சர்வர் பக்க அணுகுமுறையை நிரூபிக்கிறது. தி பாதை அலங்கரிப்பாளர் ஒரு குறிப்பிட்ட இறுதிப்புள்ளியை ஒரு செயல்பாட்டுடன் இணைக்கிறார், இது a ஐப் பயன்படுத்தி சரிபார்ப்பைச் செய்கிறது ரெஜெக்ஸ் முறை. குடுவைகள் request.json முறையானது POST கோரிக்கையிலிருந்து பயனர் தரவை மீட்டெடுக்கிறது jsonify ஒரு சுத்தமான JSON பதிலை உருவாக்குகிறது, உள்ளீடு சரியானதா என கிளையண்டிற்கு தெரிவிக்கிறது. எடுத்துக்காட்டாக, ஒரு பின்தளம் "user@example.com" அல்லது "" போன்ற உள்ளீட்டைப் பெறலாம், மேலும் இந்த அமைப்பு இரண்டு நிகழ்வுகளுக்கும் துல்லியமான கருத்தை வழங்கும், பயன்பாட்டின் ஒருமைப்பாட்டை பராமரிக்கும்.
PHP பக்கத்தில், ஸ்கிரிப்ட் சேவையகத்தில் நேரடியாக உள்ளீடுகளைச் சரிபார்க்க இலகுரக மற்றும் மிகவும் பயனுள்ள வழியை வழங்குகிறது. பயன்படுத்தி preg_match, உள்ளீடு வெறுமையா அல்லது சரியான மின்னஞ்சலா என்பதைத் தீர்மானிக்க வழக்கமான வெளிப்பாடு பயன்படுத்தப்படுகிறது. தரவு நிலைத்தன்மையைச் செயல்படுத்துவதில் பின்-இறுதி முக்கிய பங்கு வகிக்கும் அமைப்புகளுக்கு இது ஒரு சக்திவாய்ந்த அணுகுமுறையாகும். எடுத்துக்காட்டாக, நவீன முன்-இறுதி கட்டமைப்புகள் இல்லாத ஒரு மரபு அமைப்பில், அத்தகைய PHP ஸ்கிரிப்ட் உள்ளீடுகள் கடுமையான தேவைகளுக்கு இணங்குவதை உறுதிசெய்கிறது, தரவு ஊழல் அல்லது செயலாக்கப் பிழைகளைத் தடுக்கிறது. 🛠️
ஜெஸ்ட் எடுத்துக்காட்டுகளில் காட்டப்பட்டுள்ளபடி, யூனிட் சோதனையானது, பல்வேறு சூழ்நிலைகளில் இந்த ஸ்கிரிப்டுகள் நம்பகத்தன்மையுடன் செயல்படுவதை உறுதிசெய்வதில் முக்கியமான பகுதியாகும். பல சோதனை நிகழ்வுகளை எழுதுவதன் மூலம், கூடுதல் இடைவெளிகள் அல்லது தவறான மின்னஞ்சல் வடிவங்கள் கொண்ட உள்ளீடுகள் போன்ற பொதுவான மற்றும் விளிம்பு நிகழ்வுகளுக்கு எதிராக ஸ்கிரிப்டுகள் சரிபார்க்கப்படுகின்றன. இந்த சோதனைகள் பாதுகாப்பு வலையை வழங்குகின்றன, அமைப்பின் மற்ற பகுதிகள் உருவாகும்போது கூட தர்க்கம் வலுவாக இருப்பதை உறுதி செய்கிறது. தொடர்ச்சியான ஒருங்கிணைப்பு மற்றும் புதுப்பிப்புகளை அடிக்கடி வரிசைப்படுத்தும் குழுக்களுக்கு இந்த படி இன்றியமையாதது, ஏனெனில் இது உத்தரவாதம் அளிக்கிறது சரிபார்ப்பு தர்க்கம் அனைத்து சூழல்களிலும் குறைபாடற்ற முறையில் செயல்படுகிறது.
வெற்று சரங்கள் அல்லது மின்னஞ்சல் முகவரிகளை சரிபார்க்க Regex
இந்த தீர்வு ஒரு டைனமிக் வலை வடிவத்தில் முன்-இறுதி சரிபார்ப்புக்கு JavaScript ஐப் பயன்படுத்துகிறது.
// A function to validate empty string or email format
function validateInput(input) {
const regex = /^(|[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})$/;
return regex.test(input);
}
// Example Usage
const testInputs = ["", "user@example.com", "invalid-email", " "]
;testInputs.forEach(input => {
console.log(\`Input: "\${input}" is \${validateInput(input) ? "valid" : "invalid"}\`);
});
வெற்று சரங்கள் அல்லது மின்னஞ்சல்களுக்கான சர்வர் பக்க சரிபார்ப்பு
இந்தச் செயலாக்கம், பிளாஸ்குடன் பைத்தானைப் பயன்படுத்தி பின்தள சரிபார்ப்பு அணுகுமுறையை நிரூபிக்கிறது.
from flask import Flask, request, jsonify
import re
app = Flask(__name__)
@app.route('/validate', methods=['POST'])
def validate():
data = request.json
input_value = data.get("input", "")
regex = r"^(|[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})$"
is_valid = re.match(regex, input_value) is not None
return jsonify({"input": input_value, "valid": is_valid})
if __name__ == '__main__':
app.run(debug=True)
சரிபார்ப்பிற்கான PHP பின்தள ஸ்கிரிப்ட்
இந்த ஸ்கிரிப்ட் PHP ஐப் பயன்படுத்தி வெற்று சரங்கள் அல்லது மின்னஞ்சல்களுக்கான சரிபார்ப்பை நிரூபிக்கிறது.
// PHP function to validate email or empty string
function validateInput($input) {
$regex = "/^(|[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})$/";
return preg_match($regex, $input);
}
// Example Usage
$testInputs = ["", "user@example.com", "invalid-email", " "];
foreach ($testInputs as $input) {
echo "Input: '$input' is " . (validateInput($input) ? "valid" : "invalid") . "\\n";
}
ரீஜெக்ஸ் சரிபார்ப்புக்கான அலகு சோதனைகள்
பல வழக்குகளை சரிபார்க்க Jest கட்டமைப்பைப் பயன்படுத்தி JavaScript இல் எழுதப்பட்ட அலகு சோதனைகள்.
const validateInput = (input) => {
const regex = /^(|[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})$/;
return regex.test(input);
};
test('Validate empty string', () => {
expect(validateInput("")).toBe(true);
});
test('Validate valid email', () => {
expect(validateInput("user@example.com")).toBe(true);
});
test('Validate invalid email', () => {
expect(validateInput("invalid-email")).toBe(false);
});
test('Validate whitespace only', () => {
expect(validateInput(" ")).toBe(false);
});
விருப்ப உள்ளீடு சரிபார்ப்பில் Regex இன் நெகிழ்வுத்தன்மையை ஆராய்தல்
உடன் பணிபுரியும் போது ரெஜெக்ஸ் வெற்று சரங்கள் மற்றும் மின்னஞ்சல் முகவரிகள் இரண்டையும் சரிபார்ப்பதற்கு, பல்வேறு பயன்பாட்டு நிகழ்வுகளுக்கு அதன் தகவமைப்புத் தன்மை ஒரு முக்கியக் கருத்தாகும். விருப்பமான மின்னஞ்சல் புலங்களுக்கான சரியான தொடரியலை உறுதி செய்வதில் முதன்மை கவனம் இருக்கும் போது, டொமைன் பெயர்களை வரம்பிடுதல் அல்லது உள்ளூர் மின்னஞ்சல் வடிவங்களை அனுமதித்தல் போன்ற குறிப்பிட்ட நிபந்தனைகளுடன் உள்ளீடுகளை நிர்வகிக்கவும் Regex நீட்டிக்கப்படலாம். எடுத்துக்காட்டாக, சர்வதேச பயன்பாடுகளில், மின்னஞ்சல் சரிபார்ப்பில் யூனிகோட் எழுத்துகளுடன் இணக்கத்தன்மையை உறுதிசெய்வது ஸ்கிரிப்டை மேலும் உள்ளடக்கியதாகவும் வலுவானதாகவும் மாற்றும்.
இந்த Regex வடிவத்திற்கான மற்றொரு புதிரான பயன்பாடு தரவு இடம்பெயர்வு அல்லது சுத்தம் செய்யும் பணிகளில் உள்ளது. மரபு தரவுத்தளங்களில், புலங்கள் பெரும்பாலும் சீரற்ற அல்லது பூஜ்யத் தரவைக் கொண்டிருக்கும், அவை நவீன தரங்களுக்கு இணங்க வேண்டும். ரீஜெக்ஸை சுத்தம் செய்யும் பைப்லைனின் ஒரு பகுதியாகப் பயன்படுத்துவது சரியான உள்ளீடுகளைப் பாதுகாக்கும் போது உள்ளீடுகளை தரப்படுத்த உதவும். எடுத்துக்காட்டாக, ஒரு தொகுதி செயல்முறையானது பதிவுகளின் மீது மீண்டும் செயல்படலாம், தவறான தரவை பயன்படுத்தக்கூடிய உள்ளீடுகளிலிருந்து பிரிக்க சரிபார்ப்பு வடிப்பானைப் பயன்படுத்துதல், தரவுத்தள ஒருமைப்பாட்டை உறுதிசெய்தல் மற்றும் கைமுறை தலையீட்டைக் குறைத்தல். 🌍
கடைசியாக, நிகழ்நேர பயன்பாடுகளில் Regex ஐப் பயன்படுத்தும் போது செயல்திறன் பரிசீலனைகள் அவசியம். அதிகப்படியான சிக்கலான வடிவங்கள் திறமையின்மைக்கு வழிவகுக்கும், குறிப்பாக அதிக போக்குவரத்து சூழல்களில். வாசிப்புத்திறன் மற்றும் வேகத்திற்காக உங்கள் Regex ஐ மேம்படுத்துவது, அளவிலும் திறமையாக செயல்படுவதை உறுதி செய்கிறது. சந்தா சேவைகள் அல்லது கணக்கெடுப்பு தளங்கள் போன்ற அதிக எண்ணிக்கையிலான பயனர் உள்ளீடுகளைக் கையாளும் அமைப்புகளில் இது மிகவும் முக்கியமானது. எளிமையான, நன்கு கட்டமைக்கப்பட்ட Regex வடிவங்கள் செயல்பாடு மற்றும் செயல்திறனை சமநிலைப்படுத்த உதவுகின்றன, கணினி நம்பகத்தன்மையைப் பராமரிக்கும் போது மென்மையான பயனர் அனுபவத்தை வழங்குகிறது. 🚀
வெற்று சரங்கள் மற்றும் மின்னஞ்சல் சரிபார்ப்புக்கான Regex பற்றி அடிக்கடி கேட்கப்படும் கேள்விகள்
- Regex முறை என்ன செய்கிறது ^(|[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})$ செய்ய?
- இது வெற்று சரம் அல்லது சரியான மின்னஞ்சல் வடிவத்துடன் பொருந்தும். கூடுதல் இடைவெளிகள் அல்லது தவறான எழுத்துக்கள் சேர்க்கப்படவில்லை என்பதை பேட்டர்ன் உறுதி செய்கிறது.
- குறிப்பிட்ட மின்னஞ்சல் டொமைன்களை மட்டும் ஏற்கும் வகையில் இந்த Regexஐ எவ்வாறு மாற்றுவது?
- மாதிரியில் டொமைன் காசோலையைச் சேர்க்கலாம் @example\.com$, குறிப்பிட்ட டொமைனுக்கான பொருத்தங்களை வரம்பிட.
- நேரடி படிவ சரிபார்ப்புக்கு இந்த Regex பயன்படுத்த முடியுமா?
- ஆம், இது நிகழ்நேரத்தில் பயனர் உள்ளீட்டைச் சரிபார்ப்பதற்கு முன்-இறுதி மற்றும் பின்-இறுதி ஸ்கிரிப்ட்கள் இரண்டிலும் சரியாக வேலை செய்கிறது. எடுத்துக்காட்டாக, ஜாவாஸ்கிரிப்டைப் பயன்படுத்துதல் regex.test() முறை.
- இந்த Regex கேஸ்-இன்சென்சிட்டிவ் மின்னஞ்சல் சரிபார்ப்பைக் கையாளுகிறதா?
- ஆம், ஆனால் நீங்கள் விரும்பும் மொழியில் கேஸ்-சென்சிட்டிவ் கொடியை இயக்க வேண்டும். எடுத்துக்காட்டாக, பைத்தானில், சேர் re.IGNORECASE Regex ஐ தொகுக்கும்போது.
- இந்த Regex இன் வரம்புகள் என்ன?
- அடிப்படை சரிபார்ப்புக்கு பயனுள்ளதாக இருந்தாலும், தொடர்ச்சியான புள்ளிகளைத் தடை செய்வது அல்லது எழுத்து வரம்புகளை மீறுவது போன்ற சில மின்னஞ்சல் விதிகளை இது செயல்படுத்தாது.
நெகிழ்வான சரிபார்ப்புக்கான Regex பற்றிய முக்கிய குறிப்புகள்
விருப்பத் துறைகளுக்கான Regex வடிவங்களை மாஸ்டரிங் செய்வது டெவலப்பர்களுக்கு மதிப்புமிக்க திறமையாகும். படிவ உள்ளீடுகளைக் கையாள்வதா அல்லது மரபுத் தரவைச் சுத்தம் செய்தாலும், இந்த அணுகுமுறை துல்லியமான மற்றும் பாதுகாப்பானது சரிபார்த்தல் பிழைகளை குறைக்கும் போது. தரவு ஒருமைப்பாடு மற்றும் பயனர் அனுபவத்தை பராமரிக்க இது ஒரு சக்திவாய்ந்த வழியாகும்.
பகிரப்பட்ட நுட்பங்களைப் பயன்படுத்துவதன் மூலம், நிகழ்நேர வலைப் படிவச் சரிபார்ப்புகள் முதல் பெரிய அளவிலான தரவுத்தள புதுப்பிப்புகள் வரை பல்வேறு சூழ்நிலைகளுக்கு உள்ளீடு கையாளுதலை மேம்படுத்தலாம். நம்பகமான பயன்பாடுகளை வழங்குவதில் இந்த செயல்பாடு மற்றும் செயல்திறனின் சமநிலை முக்கியமானது. 🚀
Regex சரிபார்ப்புக்கான ஆதாரங்கள் மற்றும் குறிப்புகள்
- இந்தக் கட்டுரை ஸ்டாக் ஓவர்ஃப்ளோ பற்றிய விரிவான ரெஜெக்ஸ் சரிபார்ப்பு விவாதத்தைக் குறிப்பிடுகிறது. அசல் இடுகையை இங்கே பார்வையிடவும்: ஸ்டேக் ஓவர்ஃப்ளோ ரீஜெக்ஸ் டேக் .
- மின்னஞ்சல் சரிபார்ப்புக்கான வழிகாட்டுதல்கள் மற்றும் சிறந்த நடைமுறைகள் Mozilla Developer Network (MDN) வழங்கும் ஆவணங்களால் ஈர்க்கப்பட்டன. மேலும் அறிக: MDN வழக்கமான வெளிப்பாடுகள் வழிகாட்டி .
- செயல்திறன்-திறமையான ரீஜெக்ஸ் வடிவங்களை வடிவமைப்பதில் கூடுதல் நுண்ணறிவு Regex101 சமூகத்திலிருந்து தழுவி எடுக்கப்பட்டது. உதாரணங்களை இங்கு ஆராயவும்: Regex101 .