验证邮政编码或城市的JavaScript正则表达式
我想对名为“城市或邮政编码”的输入字段进行客户端验证,我对用户输入有单独的验证。我首先区分输入是数字还是字符串,然后使用单独的块来验证它们。我想知道是否有一种优雅的方法,或者换句话说,一个正则表达式来验证输入验证邮政编码或城市的JavaScript正则表达式,javascript,regex,validation,Javascript,Regex,Validation,我想对名为“城市或邮政编码”的输入字段进行客户端验证,我对用户输入有单独的验证。我首先区分输入是数字还是字符串,然后使用单独的块来验证它们。我想知道是否有一种优雅的方法,或者换句话说,一个正则表达式来验证输入 validateCityOrPostalCode(value) { const isnum = /^\d+$/.test(value); if (isnum) { const patternForZipCode = RegExp('^[0-9]{5}$'
validateCityOrPostalCode(value) {
const isnum = /^\d+$/.test(value);
if (isnum) {
const patternForZipCode = RegExp('^[0-9]{5}$');
const result = patternForZipCode.test(value);
return result;
}
const onlyLetters = RegExp('^[a-zA-Z ]$').test(value);
if (onlyLetters) {
const patternForCity = RegExp('^([a-zA-Z -]{1,50})$');
const validCityName = patternForCity.test(value);
return validCityName;
}
}
我打算做什么
validateCityOrPostalCode(value) {
const patternForCityOrPostalCode = '<The regex that I am looking for >'
const result = patternForCityOrPostalCode.test(value);
return result;
}
validateCityOrPostalCode(值){
const patternForCityOrPostalCode=''的模式
const result=patternForCityOrPostalCode.test(值);
返回结果;
}
有效个案:
5位邮政编码,如10016、12345、44444等(精确为5位)
纽约、波士顿、芝加哥、xx、xxxx等城市(1至50个字符)
无效案例:
1234
123
12
1.
空字符串
波士顿33
你可以在正则表达式中使用管道,它的作用类似于OR 示例代码段:
函数validateCityOrPostalCode(值){
返回/^([0-9]{5}|[a-zA-Z][a-zA-Z]{0,49})$/.test(值);
}
var值=['12345'、'NewYork'、'1234'、''、'Boston33'、'333Chicago'];
价值观(
函数(值){
log(值+”:“+validateCityOrPostalCode(值));
});代码>您可以在正则表达式中使用管道,其作用类似于OR
示例代码段:
函数validateCityOrPostalCode(值){
返回/^([0-9]{5}|[a-zA-Z][a-zA-Z]{0,49})$/.test(值);
}
var值=['12345'、'NewYork'、'1234'、''、'Boston33'、'333Chicago'];
价值观(
函数(值){
log(值+”:“+validateCityOrPostalCode(值));
});代码>