[英]Change Zip Code required input based on selection
我需要從vb.net下拉列表或使用javascript更改特定國家的郵政編碼,我想更改郵政編碼要求,因為加拿大和美國的做法有所不同。 加拿大使用A1A 1A1格式,例如,如果我從國家/地區選擇加拿大,則應采用的郵政編碼格式為A1A 1A1,而對於其他國家/地區,則使用zipCodePattern = / ^ \\ d {5} [AZ] {1} $ | ^ \\ d {5}-\\ d {4} $ /; 我怎樣才能做到這一點。
我寫了這個
函數validateZipCode(郵政編碼){
var country = document.getElementById(“ lblCountry”);
if (country=="Canada")
{
var zipCodePattern = /^[A-Z}{1}[0-9]{1}[A-Z]{1}[ ]{1}[0-9]{1}[A-Z]{1}[0-9]{1}$/;
return zipCodePattern.test(zipcode);
}
else
{
var zipCodePattern = /^\w{6}$|^\d{5}-\d{4}$|^\d{5}$/;
return zipCodePattern.test(zipcode);
}
}
使用javascript,您可以利用ternary operator
在模式之間進行切換(使用jQuery,僅是因為它更易於閱讀)
var pattern = '', usPattern = '^\\\\d{5}(-\\\\d{4})?$', caPattern = '^[ABCEGHJKLMNPRSTVXY]{1}\\\\d{1}[AZ]{1} *\\\\d{1}[AZ]{1}\\\\d{1}$' // watch for country change $('select').on('change', function(){ // get the selected country var val = $(this).val(); // set pattern based on `val` above pattern = val == 'us' ? usPattern : caPattern; // apply pattern to input $('input#postcode').attr('pattern', pattern) })
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <form> <select> <option value="us" selected>US</option> <option value="ca">CA</option> </select> <input id="postcode" type="text" pattern="^\\d{5}(-\\d{4})?$" required> <input type="submit"> </form>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.