我已經測試了三個正則表達式的http://www.regexpal.com/,他們是我需要的,但是當做正則表達式測試時,2個返回false(BTC和CAD),只有比特幣地址似乎工作(你可以在下面用這個錢包進行測試)。正則表達式測試方法返回false時,它應該是真的
13dHNxtbckAFM4PzdBqWgymFJmcv3Yzi32
https://jsfiddle.net/ps2fj1ff/1 (所有相關的代碼是在HTML部分)
var regWallet = new RegExp("^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$");
var regBTC = new RegExp("^\d*\.\d*$");
var regCAD = new RegExp("^\d+(\.(\d{2}))?$");
$('#button1').on('click', function() {
var btcCheck = $('#amount_btc').val();
if (regBTC.test(btcCheck)) {
} else {
alert("Invalid BTC value!");
}
var cadCheck = $('#amount_cad').val();
if (regCAD.test(cadCheck)) {
} else {
alert("Invalid CAD value!");
}
var walletCheck = $('#wallet').val();
if (regWallet.test(walletCheck)) {
} else {
alert("Invalid Bitcoin address, please make sure you've entered a valid address!");
}
});
'新的RegExp(/.../)'是多餘的,只需使用'/.../' – AllTheTime
就足夠了,我總是試圖儘可能少地改變代碼。但我認爲我不應該包括裁員。 –
好點。但我也認爲,向OP展示一種更好的方式是有價值的,因此它們形成了更好的習慣,並且考慮到冗餘問題超出了他們所問的問題。 – AllTheTime