从特殊字符前后的字符串中获取值-jQuery

时间:2018-07-10 21:14:27

标签: javascript jquery special-characters trim

嗨,我想读取变量文本中特殊字符前后的值。

特殊字符将始终相同,例如'|'例如,我的文字将存储为

public_html

阅读完之后,我将执行以下if语句

var username = Username|Jackie;
var password = Password|myPass;
var temp = ""

我希望我有道理,如果没有,请告诉我:)

我已经能够做到这一点,但是它只读取特殊文本之后的文本,而我想要的是之前和之后的文本。

IF text BEFORE | == USERNAME
   temp == text AFTER |
ESLE IF text BEFORE ==  Password
   temp == text AFTER |

https://jsfiddle.net/bf1L5e7y/1/

2 个答案:

答案 0 :(得分:1)

您可以使用destructuring

一行完成此操作

一个有效的例子

var [before, after] = 'Username|Jackie'.split("|")

console.log(before)
console.log(after)

上面的操作与此相同:

var pieces = 'Username|Jackie'.split("|")
var before = pieces[0]
var after = pieces[1]

console.log(before)
console.log(after)

答案 1 :(得分:1)

.split()将采用一个字符串并围绕您定义的定界符生成一个数组。 (String.prototype.split()) 这意味着在您的字符串上运行.split()将返回长度为2的数组,并且您的值在索引1中。

const username = "Username|Jackie";
const arr = username.split("|");
console.log(arr); // ["Username", "Jackie"];
您可以使用基于索引的数组操作或数组解构符号来访问这些值。 (Array Destructuring

const username = "Username|Jackie";

const arr = username.split("|");
console.log(arr); // ["Username", "Jackie"];
console.log(arr[0]); // "Username"
console.log(arr[1]); // "Jackie"

const [type, val] = username.split("|");
console.log(type); // "Username"
console.log(val); // "Jackie"