regex转换为数组javascript
regex into array javascript
我有一个php脚本,可以将地址拆分为一个数组:
$address = 'ADDRESS';
$pattern = '#^([a-zA-Z0-9 ''-]*) ([0-9'-0-9]{1,10})([a-zA-Z0-9'-/ ]{0,})$#';
$address_details = array();
preg_match($pattern,$address, $address_details);
这个脚本运行良好,但是,我想在javascript函数中使用同样的东西。我试过这个
var address = 'ADDRESS';
var pattern = '#^([a-zA-Z0-9 ''-]*) ([0-9'-0-9]{1,10})([a-zA-Z0-9'-/ ]{0,})$#';
var address_details = address.match(pattern);
这不起作用,并且在address_details上返回null。目的是能够调用address_details[1]和address_details[2]
JavaScript正则表达式需要/.../
正则表达式分隔符,然后,此正则表达式文字表示法周围不能出现引号。此外,你的模式可以增强一点:
var pattern = /^([A-Z0-9 '-]*) ([0-9-]{1,10})([A-Z0-9'/ -]*)$/i;
不需要在[0-9'-0-9]
中重复[0-9]
,字符类末尾的连字符不必转义,使用/i
不区分大小写的修饰符可以将[a-zA-Z]
简化为[a-z]
,{0,}
限制量词等于*
。
参见JS演示:
var address = 'Address 1 1234567890/Text-Here1 and here';
var pattern = /^([A-Z0-9 '-]*) ([0-9-]{1,10})([A-Z0-9'/ -]*)$/i;
var address_details = address.match(pattern);
document.body.innerHTML = "Group 1: " + address_details[1] + "<br/>Group 2: " + address_details[2] + "<br/>Group 3: " + address_details[3];
相关文章:
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- JavaScript数组排序(函数)用于对表行进行排序,而不是排序
- 将Javascript数组发送到控制器ASP.NET MVC
- JavaScript数组包含一个值
- 将JavaScript数组传递给函数
- javascript:数组循环
- 将数据存储在javascript数组中以供进一步使用
- 在Javascript数组中查找绝对最大值
- JavaScript数组优化以提高性能
- 在javascript数组中分散数字
- 如何发送分配列表<字符串>到JavaScript数组或可枚举对象
- Javascript数组动态
- javascript数组元素是否知道其封闭数组
- 将 JSON 数组解析为 JavaScript 数组
- 将Transform和Instance Variable转换为对象的JavaScript数组
- 使用Web Html表单创建Javascript数组
- 从重复的javascript数组结果集中只获取一行
- 如何为Javascript数组()的使用准备PHP变量
- Javascript数组和函数
- 为DataTables aoColumnDefs创建JavaScript数组(JSON格式)