声明正则表达式的更好方法
Better way to declare regex
我有这些不同国家的正则表达式,
var ukM = /(070|071|072|073|074|075|076|077|078|079)'d{7,8}$/;
var ireM = /(083|085|086|087|089)'d{7,8}$/;
var ireL = /(01|021|022|023|024|025|026|027|028|029|0402|0404|041|042|043|044|045|046|047|049|0504|0505|051|052|053|056|057|058|059|061|062|063|064|065|066|067|068|069|071|074|090|091|093|094|095|096|097|098|099)'d{7,8}$/;
var usaM = /(713|071|072|073|074|075|076|077|078|079)'d{7,8}$/;
var usaL = /(201|202|203|204|205|206|207|208|209|210|211|212|213|214|215|216|217|218|219|224|225|226|227|228|229|231|234|236|239|210|211|212|213|214|215|216|217|218|219|224|)'d{7,8}$/;
有更好的方式来声明这些吗?一个可以表示世界上每个国家的正则表达式?
谢谢
您可以使用字符类来减少正则表达式,例如
var ukM = /07[0-9]'d{7,8}$/;
var ireM = /08[35-9]'d{7,8}$/;
...
您可以将其更改为:
var ukM = /(07'd)'d{7,8}$/;
var ireM = /(08[35-79])'d{7,8}$/;
var ireL = (01|2[1-9]|040[24]|04[1-79]|050[45]|05[1-36-9]|06[1-9]|07[14]|09[0-9]'d)'d{7,8}$/;
var usaM = /(713|07[1-9])'d{7,8}$/;
var usaL = /(20[1-9]|2[12]'d|23[1469])'d{7,8}$/;
相关文章:
- 有没有更好的动手、具体的方法来学习Javascript
- 为什么不推荐使用“with”?是否有更好或其他方法可以“下降”到对象的命名空间
- 在JavaScript中拆分日期字符串的更好方法是什么
- 设置嵌套对象属性的更好方法
- 用Javascript重新格式化复杂文本日期字符串的更好方法
- 有没有比在app.js上绑定模块名称更好的方法来动态加载视图模型和视图以显示模态
- 什么'这是从第三个函数上的async 1st函数获得结果的更好方法
- 将数组从javascript格式化为php的更好方法,反之亦然
- jquery:将动画绑定到滚动条位置的更好方法
- 有更好的方法吗?(递归解析HTML unicode实体)
- 使用较少代码隐藏和显示选择菜单内容的更好方法是什么?javascript
- 编写if-else语句的更好方法
- 我能从“;输入“;事件是否有更好的方法来跟踪文本更改
- 有没有更好的方法可以测量从Ajax调用返回数据所需的总时间
- 有没有更好的方法将音频与视频同步(只需将其放在视频中即可)
- 调用影子原型方法的更简单/更好的方法
- 有没有更好的方法来编写这个Show/hide JQuery代码
- AngularJS:有没有比指定的方法更好的方法来实现这一点
- 哪种验证方法更好
- 哪一种定义变量的方法更好?为什么?