ကွန်ပျူတာများ, ပရိုဂရမ်းမင်း
Javascript ကိုပုံမှန်စကားရပ်ဥပမာ, ပုံမှန်ဖော်ပြမှုစစ်ဆေး
hypertext ကိုဘာသာစကား၏ထွန်းကားမီ, ဒါပေမယ့်မဟုတ်ဘဲ, ကကျနော်တို့ကိုကြည့်မနေသင့်ပေမယ့်အချို့သောအခြေအနေများအောက်တွင်တစ်ဦးအထူးသဖြင့်အရပ်ဌာန၌, လက်ျာပမာဏအတွက်ပြောင်းလဲ data တွေကိုအောက်မှာအဲဒီလိုလုပ်ဖို့, ပုံမှန်ရှာဖွေရေးနှင့် function ကိုအစားထိုးရန်ကြောင်းရှင်းရှင်းလင်းလင်းဖြစ်လာသည်သည်အထိမည်သည့်ခေတ်မီဖွဲ့စည်း ပရိုဂရမ်မာ။ ပရိုဂရမ်းမင်းဘာသာစကားများအနုပညာရှာဖွေရေး၏လက်ရာ Create နှင့်ဒေတာဘေ့စ stored procedures, အစပျိုးခြင်းနှင့်အခုတော့ဒီကြီးမားတဲ့နမူနာ relational သတင်းအချက်အလက်အပုဒ်၏အခြားနည်းလမ်းများနှင့်အတူတပ်ဆင်ထားပြီး, နမူနာအခြေအနေများများ၏ပုံစံများအတွက်လွန်ကဲ။ တော်လှန်ရေးမှပုံမှန်စကားရပ်၏အသွင်အပြင်ဦးဆောင်လမ်းပြမပေးခဲ့ပါဘူး, ဒါပေမယ့်သူကသတင်းအချက်အလက်ရှာကိုအစားထိုးမယ့်အသုံးဝင်တဲ့နှင့်အဆင်ပြေလမ်းဖြစ်ခဲ့သည်။ ဥပမာအားဖြင့်သိသိသာသာဧည့်သည်များ၏မှတ်ပုံတင်ကြေးကိုရိုးရှင်း JavaScript ကိုအီးမေးလ်, regular expressions ကို, လည်းမရှိခဲ့ချေလိပ်စာများမှမက်ဆေ့ခ်ျပေးပို့ခြင်းဝက်ဘ်ဆိုက် load ပါဘူး။
တစ်ဦး JavaScript ကိုပုံမှန်စကားရပ် indexOf () သမားရိုးကျသိသိနှင့်အော်ပရေတာများ၏ဘောင်အတွင်းခေါ်ဆိုအများကြီးပိုကောင်း produmannnyh ပာကြောင်းပြောပေမယ့်ဇာတ်ညွှန်းကုဒ်ကျစ်လစ်သိပ်သည်းဖြစ်ပါသည်လုပ်ပေမယ့် uninitiated အနည်းငယ်သာနားလည်လွယ်ပြီဟုမဆိုနိုငျသညျ, တည်ပြီးသတ်တယ်နိုင်ပါတယ်။
RegExp = + template ကိုအင်ဂျင်ကိုကန့်ကွက်
ပုံမှန်အသုံးအနှုန်းတွေ - တစ်ဦး template ကို + အင်ဂျင်ဖြစ်ပါတယ်။ JavaScript ကိုအရာဝတ္ထု - - ထို RegExp, ဒုတိယ - ဤ template ကိုဖျော်ဖြေသူ, လိုင်းကလျှောက်ထားပထမအမှန်တကယ်ပုံမှန်စကားရပ်ဖြစ်ပါတယ်။ တစ်ခုချင်းစီကို programming language ကိုအဘို့အ regular expressions ကိုအကောင်အထည်ဖော်ကြောင်းအင်ဂျင်ကွဲပြားခြားနားပါသည်။ အားလုံးမဟုတ်ကွဲပြားခြားနားမှုသိသာသော်လည်း, ထိုကြောင့်စိတ်တွင်ဘွားမြင်အဖြစ်ဂရုတစိုက်ကြိုတင်၎င်း၏စစ်ဆင်ရေးမှပုံမှန်စကားရပ်စစ်ဆေးရန်သေချာစေပါရပါမည်။
regular expressions ကိုရေးသားသည့်အခါအထူးသင်္ကေတကိုအသုံးပြုရန်အတော်လေးလွယ်ကူပြီးအတော်လေးထိရောက်သောဖြစ်ပါသည်, သို့သော်ပြုစုသူအနေဖြင့်စောင့်ရှောက်မှု, သပ်ရပ်ခြင်းနှင့်သည်းခံခြင်းလိုအပ်သည်။ သင်္ကေတအားဖြင့်ပုံမှန်စကားရပ်ပုံစံများဖို့အသုံးပြုရရန်လိုအပ်သည်။ ဒါဟာ« JavaScript ကို regular expressions ကိုအကောင်အထည်ဖော်များအတွက်ယန္တရား၏ယုတ္တိဗေဒဖြစ်ပါသည်, တစ်ဦး fad မဟုတ်ပါဘူး။ "
ပုံမှန်စကားရပ်ပုံစံ
Allowed options နှစ်ခု:
= / abc var ထပ်ကိန်း * / i;
var expTwo = RegExp ( "abc *", "i");
ပုံမှန်အားဖြင့်ကပထမဦးဆုံးနည်းလမ်းကိုအသုံးပြုခဲ့ကြသည်။ ဒုတိယဖြစ်ရပ်မှာကိုးကား, အကျင့်စာရိတ္တကိုအသုံးပြုရန်ဘာလို့လဲဆိုတော့ '\' ကယေဘုယျစည်းမျဉ်းစည်းကမ်းတွေများကထွက်ပြေးလွတ်မြောက်ရမည်ဖြစ်သည်။
'' ငါ '- "ထုံထိုကိစ္စတွင်" ညွှန်ပြအလံ။ သင်တို့သည်လည်းအလံ '' ဆ '' ကိုသုံးနိုင်သည် - « Global Search 'နဲ့' မီတာ '- multi-line ကိုရှာဖွေရေး။
တစ်ဦး template ကိုသုံးစွဲဖို့ဘုံညွှန်ပြသင်္ကေတ '' / '။
အစအဦးများနှင့်ပုံမှန်စကားရပ်၏အဆုံး
အဆိုပါ '' ^ '' ပုံမှန်စကားရပ်ကိုစတင်ရာကနေအက္ခရာ (s) ကိုသတ်မှတ်ပါတယ်, နှင့် '' $ '' အဆုံးမှာသူဖြစ်ရမည်ထားတဲ့အက္ခရာ (s) ကိုဆုံးဖြတ်သည်။ သငျသညျသူတို့တစ်တွေကွဲပြားခြားနားသောအဓိပ္ပာယ်ကိုရှိသည်ဘယ်မှာတစ်ခုစကားရပ်, အထဲမှာသူတို့နှင့်အတူစမ်းသပ်သင့်ပါဘူး။
ဥပမာအားဖြင့်,
var eRegExp = သစ်ကို RegExp (cRegExp, 'ဈ');
var cRegRes = '';
var sTest = 'AbcZ';
လျှင် (eRegExp.test (sTest)) {
cRegRes + = '- ဟုတ်ကဲ့';
} Else {
cRegRes + = '- အဘယ်သူမျှမ';
}
var dTestLine = document.getElementById ( 'scTestLine');
'' အတန်းများအတွက် / dTestLine.innerHTML = 'ဖော်ပြမှု /' + cRegExp + " '+ sTest +"' + cRegRes ။
အဆိုပါဒြပ်စင် '' scTestLine '(cRegExp variable ကိုတစ်ဦးနဲ့သက်ဆိုင်တဲ့အဓိပ္ပာယ်ကိုရှိပါတယ်) ဖြစ်ပေါ်ပါလိမ့်မယ်:
string ကို "abcz" အတွက်စကားရပ် / ^ AbcZ $ / - ဟုတ်ကဲ့
သငျသညျကို 'ကိုယ်' 'အလံကိုဖယ်ရှားလျှင်, ရလဒ်ဖြစ်ပါသည်:
string ကို "abcz" အတွက်စကားရပ် / ^ AbcZ $ / - အဘယ်သူမျှမ
ပုံမှန်စကားရပ်ရဲ့ contents
တစ်ဦးကပုံမှန်စကားရပ်ရှာဖွေရေး၏ဘာသာရပ်တည်းဟူသောဇာတ်ကောင်တစ်ဦး sequence ကိုဖြစ်ပါတယ်။ expression / QWERTY / entry ကိုရှာနေဒီ sequence ကိုဖြစ်ပါသည်:
စကားရပ် / QWERTY / string ကိုအတွက် "QWERTY" - ဟုတ်ကဲ့
စကားရပ် / QWERTY / string ကိုအတွက် "123qwerty456" - ဟုတ်ကဲ့
အဆိုပါ '' ^ '' အပြောင်းအလဲများကိုအသုံးအနှုန်းတွေနေသောခေါင်းစဉ်:
စကားရပ် / ^ QWERTY / string ကိုအတွက် "123qwerty456" - အဘယ်သူမျှမ
/ ^ QWERTY / string ကိုအတွက် "qwerty456" ဟူသောအသုံးအနှုနျး - ဟုတ်ကဲ့
အလားတူပင်လိုင်းသင်္ကေတ၏အဆုံးသည်။ ပုံမှန်အသုံးအနှုန်းတွေကိုက်ညီမှုများအတွက်ခွင့်ပြု: ဥပမာ, [az], [AZ], [0-9] - ဤကိစ္စတွင်သို့မဟုတ်ကိန်းဂဏန်းများအတွက်အက္ခရာအပေါငျးတို့သအက္ခရာများ။ ရုရှားအက္ခရာများကိုလည်းအသုံးပြုခဲ့စေခြင်းငှါ, ဒါပေမယ့် (ဆည်းကပ်ကြောင်းဆည်းကပ်သော) strings နဲ့စာမကျြနှာမြား၏ encoding ကအာရုံစိုက်သင့်ပါတယ်။ မကြာခဏရုရှားအက္ခရာများအဖြစ်အထူးအက္ခရာများကြောင့် codes တွေကိုသတ်မှတ်ထားဖို့ပိုကောင်းပါတယ်။
ပုံမှန်စကားရပ်ဖွဲ့စည်းသည့်အခါအောက်ပါအတိုင်းသူတို့၏အရေအတွက်ကပေးသောနှင့်အတူတစ်ဦးအထူးသဖြင့်တည်နေရာအတွက်အချို့သောသင်္ကေတ၏ရှေ့မှောက်တွင်အဘို့အတွက်ရွေးချယ်စရာများကိုသတ်မှတ်နိုင်သည် '*' = 0 အထပ်ထပ်သို့မဟုတ်ထိုထက်ပိုကြိမ်; '+' = 1 သို့မဟုတ်ထိုထက်ပိုအထပ်ထပ်ကြိမ်; {1} '+' အဖြစ်, အတူတူပင်ဖြစ်ပါသည်, {N ကို} = အထပ်ထပ်အတိအကျ n ကြိမ်, {N ကို,} = ဎအထပ်ထပ်ကြိမ်သို့မဟုတ်ထိုထက်ပို; {n, m} မီတာကြိမ်မှဎ၏အထပ်ထပ် = ။
ကွင်းခတ်အသုံးပြုခြင်း, သငျသညျရှေးခယျြစရာမြား၏တဲ့ character set ကိုသတ်မှတ်နိုင်ပါတယ်။ ဒါဟာနဲ့တူလှပါတယ်။ '' တစ် ',' ခ ',' က c 'သို့မဟုတ်' 'ဃ' ': [Abcd] = [ကြော်ငြာ] တိုင်းလေးခုသင်္ကေတ = ။ သငျသညျမဟုတ်ရင်သတ်မှတ်နိုင်ပါတယ်။ အဆိုပါသတ်မှတ်ချက်အတွက်သတ်မှတ်ထားသောရှိသူများထက်အခြားမည်သည့်ဇာတ်ကောင်: [^ abcd] '' တစ် '' ထက်အခြားမည်သည့်ဇာတ်ကောင်, 'ခ', 'က c' သို့မဟုတ် '' ဃ '' = ။ '?' ဒီပွိုင့်မှာသင်္ကေတမဖွစျနိုငျကွောငျးဖျောပွ။ '' ။ '' အဆိုပါ NEWLINE ညွှန်းထက်အခြားမည်သည့်ဇာတ်ကောင်ကိုသတ်မှတ်ပါတယ်။ ဒီ '\ n', '\ r', '\ u2028' သို့မဟုတ် '\ u2029' '။ အဆိုပါစကားရပ် '\ s * | \ S ကို *' = '[\ s | \ S] *' NEWLINE အပါအဝင်မည်သည့်ဇာတ်ကောင်များအတွက်ရှာဖွေရေးကိုဆိုလိုသည်။
ပုံမှန်ထုတ်ဖော်မျက်မှောက်ရေးရာဗားရှင်း
အဆိုပါစကားရပ် '[\ s | \ S] *' - ရှာဖွေရေးအာကာသ, ဒါမှမဟုတ် သိ. မရှိခြင်း, သောမျဉ်းပေါ်မှာရှိသမျှသောဖြစ်ပါတယ်။ မိမိအမရှိခြင်း - ဤကိစ္စတွင်ခုနှစ်, သင်္ကေတတစ်ခုအာကာသညွှန်ပြနေပြီး, '\ S က' '\ s' '။
အလားတူပင်, သင်ဒဿမဂဏန်းရှာ '\ ဃ' 'ကိုအသုံးပြုဖို့နိုင်ပြီး,' \: D '' non-numeric character ကိုရှာပါ။ သင်္ကေတ '\ f', 'r' နှင့် '\ n' ပုံစံ-feed ကို, ရထားပြန်လာလျက်လိုင်း-feed ကိုကိုက်ညီတဲ့။
အဆိုပါ tab ကိုဇာတ်ကောင် - '\ t ကို' ဒေါင်လိုက် - '\ း' '။ အဆိုပါသတ်မှတ်ရေး '\ w' 'ဆိုလက်တင်အက္ခရာအက္ခရာ (စာလုံး, ဂဏန်း, နှင့် underscore အမှတ်အသား) ကိုတွေ့ = [A-ဇ-z0-9_] ။
'' W \ '' အဆိုပါသတ်မှတ်ရေး [^ A-ဇ-z0-9_] ညီမျှသည်။ ဒါဟာအက္ခရာ၏စာတစ်စောင်မဟုတ်ကြောင်းမည်သည့်ဇာတ်ကောင်အရေအတွက်ဆိုလိုတယ်, သို့မဟုတ် '_' ။
= ရှာဖွေရေး NUL ဇာတ်ကောင် '0 \' 'ရှာရန်ဇာတ်ကောင်။ ရှာရန်အသီးသီး '\ xHH' သို့မဟုတ် '' uHHHH \ '= ရှာရန်ဇာတ်ကောင်ကုဒ်သို့မဟုတ် HHHH နာရီ။ H ကို - hexadecimal ဂဏန်း။
အကြံပြုအသုံးအနှုန်းနှင့်ပုံမှန်ထုတ်ဖော်နိုင်တဲ့ coding
မဆိုပုံမှန်စကားရပ်ဂရုတစိုက်အတန်း၏ကွဲပြားခြားနားသောဗားရှင်းအပေါ်စမ်းသပ်ပြီးရန်အရေးကြီးပါသည်။
ပုံမှန်စကားရပ်အမှားအတွက်အတွေ့အကြုံနှင့်အတူငယ်များဖြစ်လိမ့်မယ်, ဒါပေမဲ့လက်ထက်အမြဲ regular expressions ကိုရေးသားခြင်း၏စည်းမျဉ်းများမိမိတို့ကိုယ်ပိုင်အသိပညာကို "ပုံမှန်ရာသီ" တယောက်ကိုတယောက်ဘာသာစကားကနေပြောင်းရွှေ့နေသည်အထူးသဖြင့်အခါ, စစ်မှန်တဲ့မဖွစျနိုငျကွောငျးကိုစိတျထဲမှာသိုထားရပါမည်။
ဂန္ (အတိအကျအရိပ်အယောင်) နှင့်ပုံမှန်စကားရပ်၏ရိုးရှင်းသောဗားရှင်းအကြားရွေးချယ်ခြင်းကပထမဦးဆုံးပိုနှစ်သက် သာ. ကောင်း၏။ ပြီးနောက်ရှိသမျှတို့, ဂန္အတွက်အမြဲဖြစ်ပါသည်ရှင်းလင်းစွာနှစ်ဦးစလုံးရှာသောညွှန်ပြ။ ပုံမှန်စကားရပ်သို့မဟုတ်ရှာဖွေရေး string ကိုရုရှားအက္ခရာများရှိပါကတစ်ခုတည်း encoding ကမှ JavaScript ကို-code ကိုပုံမှန်စကားရပ်လုပ်ဆောင်ရှာတွေ့လုပ်ငန်းလည်ပတ်ရာပေါ်မှာရှိသမျှလိုင်းများနှင့်စာမျက်နှာဦးဆောင်လမ်းပြသင့်ပါတယ်။
တစ်ဦးဇာတ်ကောင်အပြောင်းအလဲနဲ့လည်းမရှိတဲ့အခါ, Non-လက်တင်အက္ခရာကဇာတ်ကောင် codes တွေကိုမဇာတ်ကောင်သူတို့ကိုယ်သူတို့တစ်ခုအရိပ်အယောင်စဉ်းစားရန်အသိစေသည်။
JavaScript ကိုအတွက်ရှာဖွေရေး algorithms အကောင်အထည်ဖော်တဲ့အခါမှာပုံမှန်စကားရပ်ဂရုတစိုက် check လုပ်ထားရပါမည်။ ဒါဟာ character encoding ကိုထိန်းချုပ်ရန်အထူးအရေးကြီးပါသည်။
ပုံမှန်စကားရပ်ထဲမှာကွင်း
sequence ကိုမျိုးကွဲ - အဆိုပါကွင်းခတ်သူဖြစ်ရမည်တစ်ခုသို့မဟုတ်အချို့သောအရပ်ဌာန၌ဖြစ်နှင့်ပတ်ပတ်လည်မပြုစေခြင်းငှါအရာသင်္ကေတအတွက် options, define ။ သို့သော်ဤတစ်ခုသာယေဘုယျစည်းမျဉ်းဖြစ်ပါသည်။ ကနေအဘယ်သူမျှမချွင်းချက်ရှိပါတယ်, ဒါပေမယ့် applications များ၏ကျယ်ပြန့်အမျိုးမျိုးရှိပါတယ်။
var cRegExp = "[az] * (png | JPG | gif) ။ ";
var eRegExp = သစ်ကို RegExp (cRegExp, 'ဈ');
var cRegRes = '';
var sTest = 'picture.jpg';
လျှင် (eRegExp.test (sTest)) {
cRegRes + = '- ဟုတ်ကဲ့';
} Else {
cRegRes + = '- အဘယ်သူမျှမ';
}
ရလဒ်များကို:
လိုင်း "picture.jpg" အတွက် /[az]*.(png|jpg|gif)/ စကားရပ် - ဟုတ်ကဲ့
"picture.jpg" လိုင်းများအတွက် /^[ad][az]*.(png|jpg|gif)/ စကားရပ် - အဘယ်သူမျှမ
လိုင်း "apicture.jpg" အတွက် /^[ad][az]*.(png|jpg|gif)/ စကားရပ် - ဟုတ်ကဲ့
"apicture.jg" လိုင်းများအတွက် /^[ad][az]*.(png|jpg|gif)/ စကားရပ် - အဘယ်သူမျှမ
ဒါဟာအားလုံး, ထို့နောက်တစ်ခရေပွင့သုညကြိမ်ပစ္စုပ္ပန်ဖြစ်စေခြင်းငှါသတိပြုသင့်ပါတယ်။ ဤသည်ကို "ပုံမှန်ရာသီ" အနည်းဆုံးမျှော်လင့်မထားတဲ့နည်းလမ်းတွေနဲ့အလုပ်လုပ်အံ့သောငှါဆိုလိုသည်။
RegExp Check - အီးမေးလ်စမ်းသပ်
ပုံမှန် JavaScript ကိုစကားရပ်မှာနှစ်ခုနည်းလမ်းများ, စမ်းသပ်မှုများနှင့်အမှုဆောင်အရာရှိရရှိသော, သူတို့ရဲ့နည်းလမ်းများ (လုပ်ဆောင်ချက်များကို) တွင်လိုင်းတ္ထု (String) တွင်အသုံးပြုရနိုင်သည်ရှာဖွေမှု, အုပ်စုခွဲအစားထိုးခြင်းနှင့်ပွဲစဉ်။
စမ်းသပ်မှုနည်းလမ်းပြီးသားသင်ပုံမှန်စကားရပ်များ၏မှန်ကန်မှုကိုစစ်ဆေးခွင့်ပြု, သရုပ်ပြခဲ့သည်။ Method ကိုရလဒ်: စစ်မှန်တဲ့ / မမှန်သော။
အောက်ပါ JavaScript ကို regular expressions ကိုစဉ်းစားပါ။ "ခက်ခဲပေမယ့်သေချာပေါက်" ၏အရေအတွက်ကိုထံမှအီးမေးလ် Check:
var eRegExp = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s @ "] +) *) | (" ။ + ")) ((\ [[0-9] {1,3} @ \ [0-9] {1,3} \ [0-9] { .. ။ 1,3} \ [0-9] {1,3}]) | (။ ([a-zA-Z ကို \ -0-9] + \) + [a-zA-Z ကို] {2}) ) $ /;
တစ်ဦး string ကို var sTest ='SlavaChip@sci.by '' သို့ဖြစ်လျှင်ဤ string ကိုလည်းမရှိ, ဟုတ်မှန်သောပေးသည်မှန်ကန်သောအီးမေးလ်ကို-လိပ်စာဖြစ်ပါတယ်။ အဆိုပါစာရင်းစစ် eRegExp.test (sTest) ကကောက်ယူခဲ့သည်။
လက်တွေ့အသုံးပြုမှု: E-Mail ကကုသ
အမှုဆောင်အရာရှိနည်းလမ်းက output ခင်းကျင်း, ခေါ်ဆိုမှုကိုထောက်ပံ့ပေး:
var aResult = eRegExp.exec (sTest);
cRegRes = '
' + aResult.length +
';
{(;; ဈ aResult.length cRegRes + = aResult [i] + '
';
}
ဒါဟာအောက်ပါရလဒ်ပေးသည်:
9
Slava.Chip@sci.by
Slava.Chip
Slava.Chip
.Chip
undefined
sci.by
undefined
sci.by
သိပ္ပံ။
အခွားသောနည်းလမ်းများအလားတူအလုပ်လုပ်ကြသည်။ ဒါဟာကိုယ့်ကိုယ်ကသူတို့ကိုထွက်စစျဆေးဖို့အကြံပြုသည်။ regular expressions ကို၏ဖွံ့ဖြိုးရေးနှင့်အသုံးပြုမှုကြောင့်လက်တွေ့တွင်အလုပ်လုပ်ရန်နှစ်လိုဖွယ်ဖြစ်ပါသည်, code ကိုကူးယူကဒီမှာအမြဲအကြံပြုလိုတယ်မဟုတ်ပါဘူး။
လူကြိုက်များ "ပုံမှန်ရာသီ"
မသာအများအပြားပိုပြီးလွယ်ကူပါတယ်ရွေးချယ်စရာရှိပါတယ်အီးမေးလ်ပေးထား JavaScript ကိုပုံမှန်စကားရပ်။ ဥပမာအားဖြင့်, /^[\w-\.]+@[\w-]+\.[az]{2,3}$/i ။ သို့သော်ဤဂျအကောင့်ထဲသို့အီးမေးလ်လိပ်စာမှတ်တမ်းအားလုံးမဟုတ်ဂျကြာပါသည်။
ဟုတ်ပါတယ်, သငျသညျ JavaScript ကို regular expressions ကိုအပေါ်မိမိတို့ကိုယ်ပိုင်ဒီဇိုင်းရှေ့တော်၌မိမိတို့အဆိုပြုထားဘယ်လိုခွဲခြမ်းစိတ်ဖြာရန်, လုပ်ဖော်ကိုင်ဖက်များ၏အတှေ့အကွုံရှုမြင်ရမည်ဖြစ်သည်။ ဒါပေမဲ့တချို့အခက်အခဲတွေရှိပါတယ်။ '\', '/' သို့မဟုတ်ကိုးကား: ကျနော်တို့က JavaScript ကို regular expressions ကို (ကူးယူတဲ့အခါမှာဥပမာ) သည်မရှိမဖြစ်လိုအပ်သောဇာတ်ကောင်ပွားနိုင်သောမေ့လျော့တော်မသငျ့သညျ။ ဤသူသည်သင်တို့ကြာမြင့်စွာရှာဖွေနိုင်သည့်, အမှားဖို့ဦးဆောင်လမ်းပြပါလိမ့်မယ်။
ဒါဟာအကောင့်ထဲသို့ပုံမှန်အတိုင်းယူရန်အရေးကြီးပါသည် "လူ့ရှုထောင်။ " 123-45-67, (29) 1234567, 80291234567 သို့မဟုတ် 375291234567: အဧည့်သည် (ပုဂ္ဂိုလ်တစ်ဦး) ဖြစ်ရသောဖုန်းများအတွက်တရားဝင် JavaScript ကိုပုံမှန်စကားရပ်, ပြီးနောက်, ကကွဲပြားခြားနားတဲ့နည်းလမ်းတွေထဲမှာပေးထားသည်။ ထိုသို့အားလုံးအတူတူပင်အရေအတွက်ကိုပါပဲ။ မျိုးစုံပုံစံများစာလုံးပေါင်းအမြဲလက်ခံနိုင်ဖွယ်မရှိ, အရေးအသားနံပါတ်များကိုများအတွက်စည်းမျဉ်းတင်းကျပ် fixation မလိုအပ်သောအဆင်မပြေသို့မဟုတ်ကန့်သတ်ဖန်တီးလိမ့်မည်။ option / ^ \ ဃ [\ ဃ \ (\) \ -] {4,14} \ ဃ $ / i သင်သည်သင်၏ဖုန်းနံပါတ်စစ်ဆေးအများဆုံးရောဂါဖြစ်ပွားမှုများအတွက်သင့်လျော်သည်။
သင်တစ်ဦး JavaScript ကို regular expressions ကိုသာဂဏန်းစစ်ဆေးမှုများလုပ်လိုလျှင်ပင်ထိုကဲ့သို့သောရိုးရှင်းသောကိစ္စတွင်ရှင်းလင်းချက်လိုအပ်သည်။ ဒါဟာတစ်ဦး integer ဖြစ်တဲ့အတွက်သို့မဟုတ်ဒဿမကိန်း, သိပ္ပံနည်းကျသင်္ကေတ, ဒါမှမဟုတ်ပုံမှန်အပြုသဘောသို့မဟုတ်အပျက်သဘောအရေအတွက်ကိုထည့်သွင်းစဉ်းစားရပါမည်။ သငျသညျလညျး, အကောင့်ထဲသို့ဒဿမအမှတ်ပြီးနောက်ဂဏန်း၏နံပါတ်နှင့် triad အပေါ်အရေအတွက်ကို၏အစိတ်အပိုင်းတစ်ခုလုံး၏ဌာနခွဲငွေကြေးသင်္ကေတ၏တည်ရှိမှုယူနိုင်ပါတယ်။
expression / ^ \ d + $ / i နံပါတ်များနှင့် /^\d+\.\d+$/i စကားရပ်သာစစ်ဆေးတစ်အချက်များအသုံးပြုမှုအရေအတွက်ကို၏ဒဿမကိန်းအစိတ်အပိုင်းတစ်ခုညွှန်ပြခွင့်ပြုပါတယ်။
JavaScript ကိုခုနှစ်တွင် regular expressions ကိုစစ်ဆေးနေ profile များကို, နိုင်ငံကူးလက်မှတ်အချက်အလက်များနှင့်ဥပဒေရေးရာလိပ်စာများ t ကိုဝင်ရောက်အထူးသဖြင့်အခါ, အရေးကြီးသောအရာ, အခက်ခဲ input ကိုအချက်အလက်များ၏ပုံစံကိုညွှန်ပြရန်အသုံးပြုနိုင်ပါသည်။ ဃ
အဆိုပါရက်စွဲများ Check - ရှုပ်ထွေးဖို့ရိုးရှင်းတဲ့
အခြား JavaScript ကို regular expressions ကိုစဉ်းစားပါ။ တယ်လီဖုန်းနံပါတ်များများ၏အရေအတွက်အဖြစ်ယနေ့အထိဥပမာ, မာကျောမှုနှင့်ပြောင်းလွယ်ပြင်လွယ်အကြားရွေးချယ်မှုကိုယ်စားပြုသည်။ အဖြစ်အပျက်၏နေ့စွဲ - မကြာခဏအုပ်ချုပ်ခံရဖို့ရှိသည်သောမရှိမဖြစ်လိုအပ်သောအချက်အလက်များ, တဦး။ ဒါပေမယ့်တိကျတဲ့ပုံစံအတွက် input ကိုပြုပြင်တာတွေ: "dd-မီလီမီတာ-yyyy 'သို့မဟုတ်' 'd.m.gg' 'မကြာခဏဖောက်သည်မကျေနပ်မှုစေပါတယ်။ သငျသညျတစ်ဦးတည်းသာဂဏန်းဝင်သောအခါဂန္ HTML ကို-form ကိုအပြည့်အဝနေ့ကို-to-လ input ကိုလယ်ပြင်ကနေအကူးအပြောင်း, နေရာ ယူ. မသွားနိုင်, ဒုတိယ input ကိုခက်ခဲစေနိုင်ပါတယ်။ ဥပမာ, တစ်နေ့တာ၏လယ်ပြင်၌ 3 မိတ်ဆက်ခဲ့ပြီးလာမယ့်အရေအတွက်ကို 2 သင်တန်း၏, အဆင်မပြေဖြစ်ပေါ်စေလတံ့သော, ပထမဦးဆုံးကိုအစားထိုးမနှင့်သူမ၏ 32 မှစွပ်စွဲနေပါတယ်။
ထိရောက်မှုနှင့် regular expressions ကို၏အဆင်ပြေစေရန်မရှိမဖြစ်လိုအပ်တဲ့သည့်ဧည့်သည်နဲ့တွေ့ဆုံဆွေးနွေးရေး၏အထွေထွေဆောက်လုပ်ရေးပေါ်မူတည်သည်။ တဦးတည်းအမှု၌ကပုံစံတစျခု input field သုံးစွဲဖို့အကြံပြုလိုတယ်ရက်စွဲညွှန်ပြပေးရန်, အခြားကိစ္စများတွင်နေ့, လ, တနှစ်အဘို့အမျိုးမျိုးသောလယ်ယာပေးရန်လိုအပ်ပါသည်။ ထိုအခါမူကားမည်သည့်အပိုဆောင်း "ကုဒ်၏ကုန်ကျစရိတ်များ", အခုန်တစ်နှစ်လအရေအတွက်, သူတို့ကိုအတွက်ကာလ၏အရေအတွက်ကိုစစ်ဆေး။
ရှာရန်နှင့်အစားထိုးရန်ပုံမှန်စကားရပ်မှတ်ဉာဏ်
JavaScript ကိုပု String အရာဝတ္ထုများ၏နည်းလမ်းကိုသုံးပြီး (regular expressions ကို) ကိုအစားထိုးခြင်း, ကျွန်တော်တို့ကိုတန်ဖိုးရှာပြီးချက်ချင်းပြောင်းလဲပစ်ရန်ခွင့်ပြုသည်။ ဤသည်စာရိုက်အမှားများကိုဆုံးမှုအတွက်အသုံးဝင်သည်, ပုံစံလယ်ကွင်းရဲ့ contents တည်းဖြတ်တယောက်ကိုတယောက်တင်ဆက်မှုပုံစံကနေဒေတာတွေကိုပြောင်းလဲဘို့။
var cRegExp = / ([a-z] +) \ s ကို ([a-z] +) \ s ကို ([a-z] +) / ဈ; // ရှာဖွေတဲ့အခါမှာသုံး '' variable တွေကို '' ရှိပါတယ်
var sTest = 'ဤဆောင်းပါးကိုကောင်းသောပါ!';
var cRegRes = sTest.replace (cRegExp, "$ 2, $ 3, $ 1");
var dTestLine = document.getElementById ( 'scTestLine');
'' "+ sTest +" ဟုအဆိုပါ string ကိုများအတွက် '+ cRegExp + dTestLine.innerHTML =' စကားရပ် '' ဖွင့်: '+ cRegRes;
ရလဒ်:
စကားရပ် / ([az] +) \ s ကို ([az] +) \ s ကို ([az] +) / ဈမျဉ်းများအတွက် "ဒီဆောင်းပါးသည်ကောင်း!" ထွက်: ဆောင်းပါး, ကောင်းမွန်သောဤသည်!
bracket ကအားလုံးအတွက်အရေအတွက် ($ 1, $ 2, ... ) - ကွင်း၏တစ်ဦးချင်းစီ pair တစုံဖျော်ဖြေတဲ့အခါမှာဘယ်မှာဎက 'variable ကို' '$ ဎအတွက်ရလဒ်သိုလှောင်ပါသည်။ သမားရိုးကျမတူဘဲ, ဒီမှာ variable ကိုစာရငျး 1, မပေး 0 င်ဖြစ်ပါတယ်။
အထွေထွေအကြံပြုချက်များ
ပုံမှန်စကားရပ် code ကိုရိုးရှင်းစွာပေမယ့်ဖွံ့ဖြိုးတိုးတက်ဖို့အချိန်ကိုမကွာခဏတစ်ဦးခြားနားချက်ကိုမှန်ကန်စေသည်။ သငျသညျရိုးရှင်းဒီဇိုင်းများနှင့်အတူစတင်ထို့နောက်ပိုမိုရှုပ်ထွေးအသုံးအနှုန်းတွေသို့ပေါင်းစပ်ထားနိုင်ပါတယ်။ သငျသညျ regular expressions ကိုသို့မဟုတ်အထူးဒေသခံ tools တွေကိုစမ်းသပ်ဖို့အမျိုးမျိုးသောအွန်လိုင်းဝန်ဆောင်မှုများကိုသုံးနိုင်သည်။
အကောင်းဆုံးရွေးချယ်စရာအသစ်တစ်ခုကိုဖြစ်ပေါ်တိုးတက်မှုစမ်းသပ်ဖို့ regular expressions ကိုများနှင့်၎င်းတို့၏ကိုယ်ပိုင် tools တွေကိုသူတို့ရဲ့ကိုယ်ပိုင်စာကြည့်တိုက်ဖန်တီးပါလိမ့်မယ်။ ဒီအတှေ့အကွုံကိုခိုင်မာအောင်ရန်နှင့်လျင်မြန်စွာယုံကြည်စိတ်ချရသောနှင့်အဆင်ပြေဒီဇိုင်းတည်ဆောက်ဖို့ဘယ်လိုလေ့လာသင်ယူဖို့အကောင်းဆုံးနည်းလမ်းဖြစ်ပါတယ်။
ဇာတ်ကောင်တွေနဲ့ညှို့၏အထပ်ထပ်အသုံးပြုခြင်း, အကြောင်း, အထူးအက္ခရာများ '*' ဖြစ်တယ်, '+' နှင့်မသန်စွမ်းပဲ, အထပ်ထပ်၏နံပါတ်ရိုးရှင်းနှင့်တုိ့၏အခြေခံမူများကပဲ့ထိန်းထားရမည်ကိုညွှန်း။ ထိုသို့က၎င်း၏အလုပ်၏အစအဦးမှတစ်ဦးကိုပုံမှန်စကားရပ်နားလည်သဘောပေါက်ရန်အရေးကြီးပါသည်, နှင့်ရလဒ်လုံးဝ browser ကိုအသုံးပြုတဲ့အင်ဂျင်ပါဝါ၌တည်ရှိ၏ရဖို့။ အားလုံးကတော့ဘာသာစကားများ JavaScript ကိုညီမျှကြသည်။ တစ်ခုချင်းစီကို browser ကသူတို့ယူဆောင်လာစေခြင်းငှါ ပုဂ္ဂိုလ်ရေးဦးစားပေး regular expressions ကို၏အနက်ကိုပါ။
compatibility regular expressions ကိုရန်စလုပ်ဖို့ရှိပါတယ်, ပဲစာမကျြနှာမြားနှငျ့စတိုင်စာရွက်များမဟုတ်ပါဘူး။ အဆိုပါစာမျက်နှာကိုကအောင်မြင်စွာ browser များအမျိုးမျိုးအပေါ်အလုပ်လုပ်ခဲ့ထားပြီးတစ်ဦးကောင်းမွန်စွာလည်ပတ်တဲ့အခါမှသာထည့်သွင်းစဉ်းစားနိုင်ပါ, JavaScript ကိုအသုံးပြုသည်။
JavaScript ကို, String နှင့် RegExp
client ကိုအဆင့်မှာညာဘက်အလုပ်အားဖြင့်, သည်, JavaScript ကိုအတွက်ဧည့်သည်ရဲ့ browser မှာက developer မြင့်မားကျွမ်းကျင်မှုလိုအပ်သည်။ Long ကအလုံအလောက်သင်သည် JavaScript ကို-code ကို browser ကို၏ကိုယ်ပိုင်ရန်ပုံငွေများ Debugging သို့မဟုတ် Third-party extension များ, ကုဒ်အယ်ဒီတာများ, လွတ်လပ်သောအစီအစဉ်များ၏အကူအညီနှင့်အတူအခွင့်အလမ်းရှိသည်။
သို့သော်အားလုံးမဟုတ်ဖြစ်ပွားမှုသည် debugger ကိုင်တွယ်ခြင်းနှင့်ပေးဆော့ဖ်ဝဲရေးသားသူတစ်ဦးလျှင်မြန်အမှားထောက်လှမ်းဘို့ကောင်းသောထောက်ခံမှု, ပိတ်ဆို့မှုများ detect နိုင်ပါတယ်။ အဆိုပါကွန်ပျူတာသည်ဝေးလံသောအတိတ်ထဲမှာ, တွက်ချက်မှုပေါ်အာရုံစူးစိုက်ထားပြီးအခါကြိမ်။ အခုတော့သတင်းအချက်အလက်နှင့်လိုင်းတ္ထုကိုအထူးအာရုံစိုက်သိသိသာသာအခန်းကဏ္ဍမှလာကြပြီ။ သံမဏိညှို့အရေအတွက်, သူတို့ရဲ့စစ်မှန်တဲ့သဘောသဘာသူတို့လက်ျာအချိန်နှင့်ညာဘက်နေရာတွင်သာထင်ရှားစွာပြ။
ပုံမှန်အသုံးအနှုန်းတွေလိုင်းများဖြစ်နိုင်ခြေအားဖြည့်ပေမယ့်ကိုယ့်ကိုယ်ကိုယ်ရိုသေလေးစားမှုလိုအပ်သည်။ သူ့အလုပ်ကြောင့်တူအောင်ဖန်တီးရန်ဖြစ်နိုင်လျှင်ပင်လွန်းစိတ်ဝင်စားဖို့မဟုတ်စိတ်ကူးအတွက်ဒီဘာဂ် RegExp ။
စစ်မှန်သောလုံခြုံပြီးလုံခြုံကုဒ်တစ်ခုစီစာမျက်နှာ၏တည်ငြိမ်စစ်ဆင်ရေးနှင့်တစ်ဖွဲ့လုံးကဆိုက် - အရာဝတ္ထု့ String, JavaScript ကို၏ syntax နှင့် semantic အဓိပ္ပာယ်သည် RegExp အရာဝတ္ထုများ၏ဖွဲ့စည်းတည်ဆောက်ပုံနှင့်ယုတ္တိဗေဒကိုနားလည်ခြင်း။
Similar articles
Trending Now