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

Get value from a string before and after a special character - Jquery

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

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

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

读完后,我将执行如下 if 语句

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

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

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

var myString = someVariableName.val().split("|").pop();

https://jsfiddle.net/bf1L5e7y/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)

.split() 将获取一个字符串并围绕您定义的分隔符生成一个数组。 (String.prototype.split()) 这意味着 运行 .split() 在你的字符串上将 return 一个长度为 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"